From 7ca486f6fe58066000eab1af7e92bdc7c6a22f4b Mon Sep 17 00:00:00 2001 From: Jakub Warczarek Date: Fri, 1 Oct 2021 17:19:17 +0200 Subject: [PATCH] Fix User-Agent header in requests made by Helm Signed-off-by: Jakub Warczarek --- pkg/cli/environment.go | 5 +++++ pkg/downloader/chart_downloader.go | 3 +-- pkg/repo/chartrepo.go | 1 - 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/cli/environment.go b/pkg/cli/environment.go index ac3093629..09277cd94 100644 --- a/pkg/cli/environment.go +++ b/pkg/cli/environment.go @@ -32,6 +32,7 @@ import ( "k8s.io/cli-runtime/pkg/genericclioptions" "k8s.io/client-go/rest" + "helm.sh/helm/v3/internal/version" "helm.sh/helm/v3/pkg/helmpath" ) @@ -226,5 +227,9 @@ func (s *EnvSettings) SetNamespace(namespace string) { // RESTClientGetter gets the kubeconfig from EnvSettings func (s *EnvSettings) RESTClientGetter() genericclioptions.RESTClientGetter { + s.config.WrapConfigFn = func(c *rest.Config) *rest.Config { + c.UserAgent = version.GetUserAgent() + return c + } return s.config } diff --git a/pkg/downloader/chart_downloader.go b/pkg/downloader/chart_downloader.go index 3feb5b702..97217460f 100644 --- a/pkg/downloader/chart_downloader.go +++ b/pkg/downloader/chart_downloader.go @@ -310,14 +310,13 @@ func (c *ChartDownloader) ResolveChartVersion(ref, version string) (*url.URL, er repoURL.Path = strings.TrimSuffix(repoURL.Path, "/") + "/" u = repoURL.ResolveReference(u) u.RawQuery = q.Encode() - // TODO add user-agent + if _, err := getter.NewHTTPGetter(getter.WithURL(rc.URL)); err != nil { return repoURL, err } return u, err } - // TODO add user-agent return u, nil } diff --git a/pkg/repo/chartrepo.go b/pkg/repo/chartrepo.go index 956997cc9..edd4c2d7e 100644 --- a/pkg/repo/chartrepo.go +++ b/pkg/repo/chartrepo.go @@ -124,7 +124,6 @@ func (r *ChartRepository) DownloadIndexFile() (string, error) { parsedURL.Path = path.Join(parsedURL.Path, "index.yaml") indexURL := parsedURL.String() - // TODO add user-agent resp, err := r.Client.Get(indexURL, getter.WithURL(r.Config.URL), getter.WithInsecureSkipVerifyTLS(r.Config.InsecureSkipTLSverify),