From 7782081db7fc9fd2322e78f136428e1ad2807764 Mon Sep 17 00:00:00 2001 From: Engin Diri Date: Sat, 2 Sep 2023 19:21:14 +0300 Subject: [PATCH] feat: update devpod lib (#7) --- go.mod | 6 +- go.sum | 13 ++-- .../github.com/loft-sh/log/discard_logger.go | 27 +++++++ vendor/github.com/loft-sh/log/file_logger.go | 72 +++++++++++++++++++ vendor/github.com/loft-sh/log/logger.go | 3 + .../github.com/loft-sh/log/stream_logger.go | 71 ++++++++++++++++++ vendor/modules.txt | 4 +- 7 files changed, 187 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 50f53f4..170ace4 100644 --- a/go.mod +++ b/go.mod @@ -1,11 +1,11 @@ module github.com/dirien/devpod-provider-equinix -go 1.20 +go 1.21 require ( github.com/hashicorp/go-retryablehttp v0.7.4 - github.com/loft-sh/devpod v0.3.6 - github.com/loft-sh/log v0.0.0-20230802151259-7b546cf62355 + github.com/loft-sh/devpod v0.3.7 + github.com/loft-sh/log v0.0.0-20230824104949-bd516c25712a github.com/packethost/packngo v0.30.0 github.com/pkg/errors v0.9.1 github.com/spf13/cobra v1.7.0 diff --git a/go.sum b/go.sum index 3ca5b73..e9e0416 100644 --- a/go.sum +++ b/go.sum @@ -14,6 +14,7 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -58,10 +59,10 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/loft-sh/devpod v0.3.6 h1:QfOSM5EBnPhOxD42Br0MkxoiSyJmjRvOUROecdRICtE= -github.com/loft-sh/devpod v0.3.6/go.mod h1:tJGwaM5b9lslD+lNN3swsCJtafJiFZHpPw+M1w/XUCY= -github.com/loft-sh/log v0.0.0-20230802151259-7b546cf62355 h1:gfdN6WXyW29hXiSSjkRvJ0l6VlEvrKihm78eJ6PZT+4= -github.com/loft-sh/log v0.0.0-20230802151259-7b546cf62355/go.mod h1:YImeRjXH34Yf5E79T7UHBQpDZl9fIaaFRgyZ/bkY+UQ= +github.com/loft-sh/devpod v0.3.7 h1:oYJS9UdvlmWpw88DEAX2FZgFl47TtrK4uZmmA4AOmgI= +github.com/loft-sh/devpod v0.3.7/go.mod h1:uj4eYxyeH5nRACRcm9ax0fKCz7MunBSBtKxRQhlwREw= +github.com/loft-sh/log v0.0.0-20230824104949-bd516c25712a h1:/gqqjKpcHEdFXIX41lx1Y/FBqT/72gbPpf7sa20tyM8= +github.com/loft-sh/log v0.0.0-20230824104949-bd516c25712a/go.mod h1:YImeRjXH34Yf5E79T7UHBQpDZl9fIaaFRgyZ/bkY+UQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= @@ -91,6 +92,7 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= @@ -170,6 +172,7 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= @@ -183,6 +186,7 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= k8s.io/api v0.27.4 h1:0pCo/AN9hONazBKlNUdhQymmnfLRbSZjd5H5H3f0bSs= k8s.io/api v0.27.4/go.mod h1:O3smaaX15NfxjzILfiln1D8Z3+gEYpjEpiNA/1EVK1Y= k8s.io/apimachinery v0.27.4 h1:CdxflD4AF61yewuid0fLl6bM4a3q04jWel0IlP+aYjs= @@ -196,3 +200,4 @@ sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h6 sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk= sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/vendor/github.com/loft-sh/log/discard_logger.go b/vendor/github.com/loft-sh/log/discard_logger.go index 19e0526..dce2b4c 100644 --- a/vendor/github.com/loft-sh/log/discard_logger.go +++ b/vendor/github.com/loft-sh/log/discard_logger.go @@ -6,6 +6,7 @@ import ( "os" "sync" + "github.com/go-logr/logr" "github.com/loft-sh/log/survey" "github.com/sirupsen/logrus" ) @@ -150,3 +151,29 @@ func (f *discardLogger) WithLevel(level logrus.Level) Logger { func (f *discardLogger) ErrorStreamOnly() Logger { return f } + +// --- Logr LogSink --- + +type discordLogSink struct{} + +var _ logr.LogSink = discordLogSink{} + +// Enabled implements logr.LogSink. +func (discordLogSink) Enabled(level int) bool { return false } + +// Error implements logr.LogSink. +func (discordLogSink) Error(err error, msg string, keysAndValues ...interface{}) {} + +// Info implements logr.LogSink. +func (discordLogSink) Info(level int, msg string, keysAndValues ...interface{}) {} + +// Init implements logr.LogSink. +func (discordLogSink) Init(info logr.RuntimeInfo) {} + +// WithName implements logr.LogSink. +func (a discordLogSink) WithName(name string) logr.LogSink { return a } + +// WithValues implements logr.LogSink. +func (a discordLogSink) WithValues(keysAndValues ...interface{}) logr.LogSink { return a } + +func (f *discardLogger) LogrLogSink() logr.LogSink { return discordLogSink{} } diff --git a/vendor/github.com/loft-sh/log/file_logger.go b/vendor/github.com/loft-sh/log/file_logger.go index 061cb6f..d19f88e 100644 --- a/vendor/github.com/loft-sh/log/file_logger.go +++ b/vendor/github.com/loft-sh/log/file_logger.go @@ -8,6 +8,7 @@ import ( "sync" "github.com/acarl005/stripansi" + "github.com/go-logr/logr" "github.com/loft-sh/log/survey" "github.com/sirupsen/logrus" lumberjack "gopkg.in/natefinch/lumberjack.v2" @@ -22,6 +23,8 @@ type fileLogger struct { prefixes []string } +var _ Logger = &fileLogger{} + // NewFileLogger returns a logger instance for the specified filename func NewFileLogger(logFile string, level logrus.Level) Logger { newLogger := &fileLogger{ @@ -309,3 +312,72 @@ func (f *fileLogger) WithPrefixColor(prefix, color string) Logger { func (f *fileLogger) ErrorStreamOnly() Logger { return f } + +// --- Logr LogSink --- + +type fileLogSink struct { + logger *fileLogger + name string + keysAndValues []interface{} +} + +var _ logr.LogSink = &fileLogSink{} + +// Enabled implements logr.LogSink. +func (s *fileLogSink) Enabled(level int) bool { + // if the logrus level is debug or trace, we always log + if s.logger.level > logrus.InfoLevel { + return true + } + + // if the logr level is 0, we log if the logrus level is info or higher + return s.logger.level <= logrus.InfoLevel && level == 0 +} + +// Error implements logr.LogSink. +func (s *fileLogSink) Error(err error, msg string, keysAndValues ...interface{}) { + s.logger.WithPrefix(s.name).Error(err, msg, append(s.keysAndValues, keysAndValues...)) +} + +// Info implements logr.LogSink. +func (s *fileLogSink) Info(level int, msg string, keysAndValues ...interface{}) { + if level == 0 { + s.logger.WithPrefix(s.name).Info(msg, append(s.keysAndValues, keysAndValues...)) + } else { + s.logger.WithPrefix(s.name).Debug(msg, append(s.keysAndValues, keysAndValues...)) + } +} + +// Init implements logr.LogSink. +func (*fileLogSink) Init(info logr.RuntimeInfo) {} + +// WithName implements logr.LogSink. +func (s *fileLogSink) WithName(name string) logr.LogSink { + if s.name != "" { + name = s.name + "." + name + } + + return &fileLogSink{ + logger: s.logger, + name: name, + keysAndValues: s.keysAndValues, + } +} + +// WithValues implements logr.LogSink. +func (s *fileLogSink) WithValues(keysAndValues ...interface{}) logr.LogSink { + return &fileLogSink{ + logger: s.logger, + name: s.name, + keysAndValues: append(s.keysAndValues, keysAndValues...), + } +} + +// LogrLogSink implements Logger. +func (f *fileLogger) LogrLogSink() logr.LogSink { + return &fileLogSink{ + logger: f, + name: "", + keysAndValues: []interface{}{}, + } +} diff --git a/vendor/github.com/loft-sh/log/logger.go b/vendor/github.com/loft-sh/log/logger.go index bcc6fa7..025582c 100644 --- a/vendor/github.com/loft-sh/log/logger.go +++ b/vendor/github.com/loft-sh/log/logger.go @@ -3,6 +3,7 @@ package log import ( "io" + "github.com/go-logr/logr" "github.com/loft-sh/log/survey" "github.com/sirupsen/logrus" ) @@ -44,6 +45,8 @@ type BaseLogger interface { SetLevel(level logrus.Level) GetLevel() logrus.Level + + LogrLogSink() logr.LogSink } type SimpleLogger interface { diff --git a/vendor/github.com/loft-sh/log/stream_logger.go b/vendor/github.com/loft-sh/log/stream_logger.go index fab8f3f..96c0d91 100644 --- a/vendor/github.com/loft-sh/log/stream_logger.go +++ b/vendor/github.com/loft-sh/log/stream_logger.go @@ -11,6 +11,7 @@ import ( "time" "github.com/acarl005/stripansi" + "github.com/go-logr/logr" goansi "github.com/k0kubun/go-ansi" "github.com/loft-sh/log/hash" "github.com/loft-sh/log/scanner" @@ -117,6 +118,8 @@ type StreamLogger struct { sinks []Logger } +var _ Logger = &StreamLogger{} + type Prefix struct { Prefix string Color string @@ -579,3 +582,71 @@ type NopCloser struct { } func (NopCloser) Close() error { return nil } + +// --- Logr LogSink --- + +type streamLogSink struct { + logger *StreamLogger + name string + keysAndValues []interface{} +} + +var _ logr.LogSink = &streamLogSink{} + +// Enabled implements logr.LogSink. +func (s *streamLogSink) Enabled(level int) bool { + // if the logrus level is debug or trace, we always log + if s.logger.level > logrus.InfoLevel { + return true + } + + // if the logr level is 0, we log if the logrus level is info or higher + return s.logger.level <= logrus.InfoLevel && level == 0 +} + +// Error implements logr.LogSink. +func (s *streamLogSink) Error(err error, msg string, keysAndValues ...interface{}) { + s.logger.WithPrefix(s.name).Error(err, msg, append(s.keysAndValues, keysAndValues...)) +} + +// Info implements logr.LogSink. +func (s *streamLogSink) Info(level int, msg string, keysAndValues ...interface{}) { + if level == 0 { + s.logger.WithPrefix(s.name).Info(msg, append(s.keysAndValues, keysAndValues...)) + } else { + s.logger.WithPrefix(s.name).Debug(msg, append(s.keysAndValues, keysAndValues...)) + } +} + +// Init implements logr.LogSink. +func (streamLogSink) Init(info logr.RuntimeInfo) {} + +// WithName implements logr.LogSink. +func (s *streamLogSink) WithName(name string) logr.LogSink { + if s.name != "" { + name = s.name + "." + name + } + + return &streamLogSink{ + logger: s.logger, + name: name, + keysAndValues: s.keysAndValues, + } +} + +// WithValues implements logr.LogSink. +func (s *streamLogSink) WithValues(keysAndValues ...interface{}) logr.LogSink { + return &streamLogSink{ + logger: s.logger, + name: s.name, + keysAndValues: append(s.keysAndValues, keysAndValues...), + } +} + +func (s *StreamLogger) LogrLogSink() logr.LogSink { + return &streamLogSink{ + logger: s, + name: "", + keysAndValues: []interface{}{}, + } +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 9cfea1d..2fe85c8 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -56,7 +56,7 @@ github.com/k0kubun/go-ansi github.com/kballard/go-shellquote # github.com/kr/pretty v0.3.1 ## explicit; go 1.12 -# github.com/loft-sh/devpod v0.3.6 +# github.com/loft-sh/devpod v0.3.7 ## explicit; go 1.20 github.com/loft-sh/devpod/cmd/flags github.com/loft-sh/devpod/pkg/client @@ -73,7 +73,7 @@ github.com/loft-sh/devpod/pkg/telemetry/serviceaccount github.com/loft-sh/devpod/pkg/telemetry/types github.com/loft-sh/devpod/pkg/types github.com/loft-sh/devpod/pkg/version -# github.com/loft-sh/log v0.0.0-20230802151259-7b546cf62355 +# github.com/loft-sh/log v0.0.0-20230824104949-bd516c25712a ## explicit; go 1.20 github.com/loft-sh/log github.com/loft-sh/log/hash