diff --git a/go.mod b/go.mod index 45c8fe4..80fb8ab 100644 --- a/go.mod +++ b/go.mod @@ -18,10 +18,12 @@ require ( github.com/itchyny/gojq v0.12.13 // indirect github.com/itchyny/timefmt-go v0.1.5 // indirect github.com/rogpeppe/go-internal v1.8.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/pflag v1.0.5 // indirect go.bobheadxi.dev/streamline v1.3.1 // indirect go.opentelemetry.io/otel v1.16.0 // indirect go.opentelemetry.io/otel/metric v1.16.0 // indirect go.opentelemetry.io/otel/trace v1.16.0 // indirect + golang.org/x/sys v0.8.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) diff --git a/go.sum b/go.sum index e83cf2c..6f47abf 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,7 @@ bitbucket.org/creachadair/shell v0.0.7 h1:Z96pB6DkSb7F3Y3BBnJeOZH2gazyMTWlvecSD4vDqfk= bitbucket.org/creachadair/shell v0.0.7/go.mod h1:oqtXSSvSYr4624lnnabXHaBsYW6RD80caLi2b3hJk0U= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +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= github.com/djherbis/buffer v1.1.0/go.mod h1:VwN8VdFkMY0DCALdY8o00d3IZ6Amz/UNVMWcSaJT44o= @@ -52,12 +53,16 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= 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= github.com/sourcegraph/run v0.12.0 h1:3A8w5e8HIYPfafHekvmdmmh42RHKGVhmiTZAPJclg7I= github.com/sourcegraph/run v0.12.0/go.mod h1:PwaP936BTnAJC1cqR5rSbG5kOs/EWStTK3lqvMX5GUA= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= go.bobheadxi.dev/streamline v1.3.1 h1:gqQB8a+1B8AKPHk1ftu8yrNQyQ9+vxH3A3gMPEaOiKs= @@ -72,6 +77,7 @@ go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZE go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/tools v0.5.0 h1:+bSpV5HIeWkuvgaMfI3UmKRThoTA5ODJTUd8T17NO+4= @@ -82,6 +88,7 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8 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/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM= diff --git a/internal/helm.go b/internal/helm.go index f4e9884..1db5a1d 100644 --- a/internal/helm.go +++ b/internal/helm.go @@ -3,9 +3,9 @@ package internal import ( "bytes" "context" - "fmt" "os" + log "github.com/sirupsen/logrus" "github.com/sourcegraph/run" ) @@ -26,7 +26,7 @@ func NewClient(binaryHelm string, repoDest string, registryType string, user str func (c Client) repoAdd(repoName string, repo string) error { if c.dryrun { - fmt.Printf("dryrun: to add repo name :%s repo:%s\n", repoName, repo) + log.Infof("dryrun - to add repo name %s repo %s\n", repoName, repo) } else { err := run.Cmd(c.ctx, c.binary, "repo", "add", repoName, repo).Run().Stream(os.Stdout) if err != nil { @@ -40,7 +40,7 @@ func (c Client) repoAdd(repoName string, repo string) error { func (c Client) searchChart(chart string, version string) (bytes.Buffer, error) { var streamData bytes.Buffer if c.dryrun { - fmt.Printf("dryrun: search chart: %s version: %s\n", chart, version) + log.Infof("dryrun - search chart %s version %s\n", chart, version) } else { err := run.Cmd(c.ctx, c.binary, "search", "repo", chart, "--version", version, "-o", "yaml").Run().Stream(&streamData) if err != nil { @@ -53,7 +53,7 @@ func (c Client) searchChart(chart string, version string) (bytes.Buffer, error) func (c Client) pullChart(chartName string, version string) error { if c.dryrun { - fmt.Printf("dryrun: to pull chart %s:%s\n", chartName, version) + log.Infof("dryrun - to pull chart %s:%s\n", chartName, version) } else { err := run.Cmd(c.ctx, c.binary, "pull", chartName, "--version", version).Run().Stream(os.Stdout) if err != nil { @@ -65,7 +65,7 @@ func (c Client) pullChart(chartName string, version string) error { func (c Client) pushChart(registry string, chartName string, version string) error { if c.dryrun { - fmt.Printf("dryrun: push chart: %s:%s to:%s\n", chartName, version, c.repoDest) + log.Infof("dryrun - push chart %s:%s to%s\n", chartName, version, c.repoDest) } else { chartPackage := chartName + "-" + version + ".tgz" if c.registryType == "nexus" { @@ -82,7 +82,7 @@ func (c Client) pushChart(registry string, chartName string, version string) err return err } } - fmt.Printf("chart %s pushed\n", chartPackage) + log.Infof("chart %s pushed\n", chartPackage) errRemove := os.Remove(chartPackage) if errRemove != nil { diff --git a/internal/sync.go b/internal/sync.go index 38c57c3..531cc27 100644 --- a/internal/sync.go +++ b/internal/sync.go @@ -1,8 +1,9 @@ package internal import ( - "fmt" "strings" + + log "github.com/sirupsen/logrus" ) var h *Client @@ -12,7 +13,7 @@ func Sync(binaryHelm string, configPath string, repoDest string, registryType st h = NewClient(binaryHelm, repoDest, registryType, user, password, dryrun) cfg, err := newConfig(configPath) if err != nil { - fmt.Printf("error: %s\n", err) + log.Error(err) } for registry, charts := range cfg { @@ -25,7 +26,7 @@ func Sync(binaryHelm string, configPath string, repoDest string, registryType st repoName := strings.Split(registry, "/") err := h.repoAdd(repoName[index], repo) if err != nil { - fmt.Printf("error: can't add repo %v\n", err) + log.Errorf("can't add repo %v\n", err) } for chart, versions := range charts.Charts { @@ -43,12 +44,12 @@ func pullAndPush(registry string, chart string, chartName string, version string listSource, err := h.searchChart(chartName, version) if err != nil { - fmt.Printf("error: can't search chart in repo %v\n", err) + log.Errorf("can't search chart in repo %v\n", err) } chartSource, err := chartList(listSource.Bytes()) if err != nil { - fmt.Printf("error: can't list chart in repo %v\n", err) + log.Errorf("can't list chart in repo %v\n", err) } for _, c := range chartSource { @@ -57,11 +58,11 @@ func pullAndPush(registry string, chart string, chartName string, version string err := h.pullChart(c.Name, c.Version) if err != nil { - fmt.Printf("error: can't pull chart from repo %v\n", err) + log.Errorf("can't pull chart from repo %v\n", err) } err = h.pushChart(r, chart, c.Version) if err != nil { - fmt.Printf("error: can't push chart to repo %v\n", err) + log.Errorf("can't push chart to repo %v\n", err) } }