diff --git a/internal/indexer/resolver.go b/internal/indexer/resolver.go index 5719e9b2..ef2e5266 100644 --- a/internal/indexer/resolver.go +++ b/internal/indexer/resolver.go @@ -18,6 +18,12 @@ func newDockerResolver(u *url.URL, username, password string, insecure bool) rem }, } } + client.once.Do(func() { + client.transport = &http.Transport{ + DisableCompression: true, + Proxy: http.ProxyFromEnvironment, + } + }) opts := docker.ResolverOptions{ Hosts: func(s string) ([]docker.RegistryHost, error) { return []docker.RegistryHost{ diff --git a/pkg/client/repo/chartmuseum/chartmuseum.go b/pkg/client/repo/chartmuseum/chartmuseum.go index a42de301..d8a234b4 100644 --- a/pkg/client/repo/chartmuseum/chartmuseum.go +++ b/pkg/client/repo/chartmuseum/chartmuseum.go @@ -119,6 +119,12 @@ func (r *Repo) Upload(file string, _ *chart.Metadata) error { } client = &http.Client{Transport: tr} } + r.once.Do(func() { + r.transport = &http.Transport{ + DisableCompression: true, + Proxy: http.ProxyFromEnvironment, + } + }) res, err := client.Do(req) if err != nil { return errors.Annotatef(err, "uploading %q chart", file) diff --git a/pkg/client/repo/harbor/harbor.go b/pkg/client/repo/harbor/harbor.go index 5bbc3b69..e174068d 100644 --- a/pkg/client/repo/harbor/harbor.go +++ b/pkg/client/repo/harbor/harbor.go @@ -118,6 +118,12 @@ func (r *Repo) Upload(file string, _ *chart.Metadata) error { } client = &http.Client{Transport: tr} } + r.once.Do(func() { + r.transport = &http.Transport{ + DisableCompression: true, + Proxy: http.ProxyFromEnvironment, + } + }) res, err := client.Do(req) if err != nil { return errors.Annotatef(err, "uploading %q chart", file) diff --git a/pkg/client/repo/helmclassic/helmclassic.go b/pkg/client/repo/helmclassic/helmclassic.go index 2fcc2e9c..e0a428e2 100644 --- a/pkg/client/repo/helmclassic/helmclassic.go +++ b/pkg/client/repo/helmclassic/helmclassic.go @@ -53,6 +53,12 @@ var reloadIndex = func(r *Repo) error { } client = &http.Client{Transport: tr} } + r.once.Do(func() { + r.transport = &http.Transport{ + DisableCompression: true, + Proxy: http.ProxyFromEnvironment, + } + }) res, err := client.Do(req) if err != nil { return errors.Annotate(err, "fetching index.yaml") @@ -185,6 +191,12 @@ func (r *Repo) Fetch(name string, version string) (string, error) { } client = &http.Client{Transport: tr} } + r.once.Do(func() { + r.transport = &http.Transport{ + DisableCompression: true, + Proxy: http.ProxyFromEnvironment, + } + }) res, err := client.Do(req) if err != nil { return "", errors.Annotatef(err, "fetching %s:%s chart", name, version) diff --git a/pkg/client/repo/oci/oci.go b/pkg/client/repo/oci/oci.go index 8c29abe3..0c3413ac 100644 --- a/pkg/client/repo/oci/oci.go +++ b/pkg/client/repo/oci/oci.go @@ -126,6 +126,12 @@ func (r *Repo) getTagManifest(name, version string) (*ocispec.Manifest, error) { } client = &http.Client{Transport: tr} } + r.once.Do(func() { + r.transport = &http.Transport{ + DisableCompression: true, + Proxy: http.ProxyFromEnvironment, + } + }) resp, err := client.Do(req) if err != nil { return nil, errors.Trace(err) @@ -190,6 +196,12 @@ func (r *Repo) ListChartVersions(name string) ([]string, error) { } client = &http.Client{Transport: tr} } + r.once.Do(func() { + r.transport = &http.Transport{ + DisableCompression: true, + Proxy: http.ProxyFromEnvironment, + } + }) resp, err := client.Do(req) if err != nil { return nil, errors.Trace(err) @@ -271,6 +283,12 @@ func (r *Repo) Fetch(name string, version string) (string, error) { } client = &http.Client{Transport: tr} } + r.once.Do(func() { + r.transport = &http.Transport{ + DisableCompression: true, + Proxy: http.ProxyFromEnvironment, + } + }) res, err := client.Do(req) if err != nil { return "", errors.Annotatef(err, "fetching %s:%s chart", name, version)