From 9dbe07ee27f6703b014a3d60bbde3403d01094b5 Mon Sep 17 00:00:00 2001 From: Arvid Bjurklint Date: Wed, 21 Feb 2024 18:50:54 +0100 Subject: [PATCH 1/4] Read proxy from environment for the selfhosted client (#145) Co-authored-by: Joshua Wright <19779568+joshw123@users.noreply.github.com> Co-authored-by: David Collom --- pkg/client/selfhosted/selfhosted.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/client/selfhosted/selfhosted.go b/pkg/client/selfhosted/selfhosted.go index 9565d611..da891638 100644 --- a/pkg/client/selfhosted/selfhosted.go +++ b/pkg/client/selfhosted/selfhosted.go @@ -130,6 +130,7 @@ func New(ctx context.Context, log *logrus.Entry, opts *Options) (*Client, error) client.Client.Transport = &http.Transport{ TLSClientConfig: tlsConfig, + Proxy: http.ProxyFromEnvironment, } } From 293835ed7d81111f4bb7b9096b5e954a14d79c03 Mon Sep 17 00:00:00 2001 From: David Collom Date: Wed, 21 Feb 2024 17:58:16 +0000 Subject: [PATCH 2/4] enable proxy for remaining clients (#152) Co-authored-by: Arvid Bjurklint Co-authored-by: Joshua Wright <19779568+joshw123@users.noreply.github.com> --- pkg/client/acr/acr.go | 3 ++- pkg/client/docker/docker.go | 3 ++- pkg/client/ecr/ecr.go | 3 +++ pkg/client/gcr/gcr.go | 9 ++++++--- pkg/client/ghcr/ghcr.go | 3 ++- pkg/client/quay/quay.go | 1 + 6 files changed, 16 insertions(+), 6 deletions(-) diff --git a/pkg/client/acr/acr.go b/pkg/client/acr/acr.go index 630f8989..de003b6d 100644 --- a/pkg/client/acr/acr.go +++ b/pkg/client/acr/acr.go @@ -55,7 +55,8 @@ type ACRManifestResponse struct { func New(opts Options) (*Client, error) { client := &http.Client{ - Timeout: time.Second * 5, + Timeout: time.Second * 5, + Transport: &http.Transport{Proxy: http.ProxyFromEnvironment}, } if len(opts.RefreshToken) > 0 && diff --git a/pkg/client/docker/docker.go b/pkg/client/docker/docker.go index 27b2dbb6..9dcdc364 100644 --- a/pkg/client/docker/docker.go +++ b/pkg/client/docker/docker.go @@ -52,7 +52,8 @@ type Image struct { func New(ctx context.Context, opts Options) (*Client, error) { client := &http.Client{ - Timeout: time.Second * 10, + Timeout: time.Second * 10, + Transport: &http.Transport{Proxy: http.ProxyFromEnvironment}, } // Setup Auth if username and password used. diff --git a/pkg/client/ecr/ecr.go b/pkg/client/ecr/ecr.go index 12265862..935ee179 100644 --- a/pkg/client/ecr/ecr.go +++ b/pkg/client/ecr/ecr.go @@ -3,6 +3,7 @@ package ecr import ( "context" "fmt" + "net/http" "sync" "github.com/aws/aws-sdk-go/aws" @@ -102,6 +103,8 @@ func (c *Client) getClient(region string) (*ecr.ECR, error) { return nil, err } } + // Try and use an HTTP(S) Proxies defined within Environment variables. + client.Config.WithHTTPClient(&http.Client{Transport: &http.Transport{Proxy: http.ProxyFromEnvironment}}) c.cachedRegionClients[region] = client return client, nil diff --git a/pkg/client/gcr/gcr.go b/pkg/client/gcr/gcr.go index 19dd3b19..d94a2ba0 100644 --- a/pkg/client/gcr/gcr.go +++ b/pkg/client/gcr/gcr.go @@ -35,11 +35,14 @@ type ManifestItem struct { } func New(opts Options) *Client { + client := &http.Client{ + Timeout: time.Second * 5, + Transport: &http.Transport{Proxy: http.ProxyFromEnvironment}, + } + return &Client{ Options: opts, - Client: &http.Client{ - Timeout: time.Second * 5, - }, + Client: client, } } diff --git a/pkg/client/ghcr/ghcr.go b/pkg/client/ghcr/ghcr.go index 33595840..fbbfd7f6 100644 --- a/pkg/client/ghcr/ghcr.go +++ b/pkg/client/ghcr/ghcr.go @@ -25,7 +25,8 @@ func New(opts Options) *Client { return &Client{ Options: opts, Client: &http.Client{ - Timeout: time.Second * 5, + Timeout: time.Second * 5, + Transport: &http.Transport{Proxy: http.ProxyFromEnvironment}, }, } } diff --git a/pkg/client/quay/quay.go b/pkg/client/quay/quay.go index ca6031e9..3578f99e 100644 --- a/pkg/client/quay/quay.go +++ b/pkg/client/quay/quay.go @@ -59,6 +59,7 @@ type responseManifestDataItem struct { func New(opts Options) *Client { client := retryablehttp.NewClient() + client.HTTPClient.Transport = &http.Transport{Proxy: http.ProxyFromEnvironment} client.RetryMax = 10 client.Logger = nil From c7ff935b265af1d9835f2a2644f53e47248dc2c7 Mon Sep 17 00:00:00 2001 From: David Collom Date: Wed, 21 Feb 2024 17:59:51 +0000 Subject: [PATCH 3/4] Release v0.5.0 (#153) Co-authored-by: github-actions[bot] --- Makefile | 2 +- deploy/charts/version-checker/Chart.yaml | 4 ++-- deploy/yaml/deploy.yaml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 02187853..b1e35349 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ verify: test build ## tests and builds version-checker image: ## build docker image GOARCH=$(ARCH) GOOS=linux CGO_ENABLED=0 go build -o ./bin/version-checker-linux ./cmd/. - docker build -t quay.io/jetstack/version-checker:v0.4.0 . + docker build -t quay.io/jetstack/version-checker:v0.5.0 . clean: ## clean up created files rm -rf \ diff --git a/deploy/charts/version-checker/Chart.yaml b/deploy/charts/version-checker/Chart.yaml index 4cfc61f9..a4a87bc3 100644 --- a/deploy/charts/version-checker/Chart.yaml +++ b/deploy/charts/version-checker/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 -appVersion: "v0.4.0" -version: "v0.4.0" +appVersion: "v0.5.0" +version: "v0.5.0" description: A Helm chart for version-checker home: https://github.com/jetstack/version-checker name: version-checker diff --git a/deploy/yaml/deploy.yaml b/deploy/yaml/deploy.yaml index d9122eb9..3f97ce9d 100644 --- a/deploy/yaml/deploy.yaml +++ b/deploy/yaml/deploy.yaml @@ -49,7 +49,7 @@ spec: spec: serviceAccountName: version-checker containers: - - image: quay.io/jetstack/version-checker:v0.4.0 + - image: quay.io/jetstack/version-checker:v0.5.0 imagePullPolicy: Always ports: - containerPort: 8080 From e3f356afc20a1cf7dd90ee72986df67546735125 Mon Sep 17 00:00:00 2001 From: thailatte <40560895+orangedrew@users.noreply.github.com> Date: Wed, 21 Feb 2024 19:04:04 +0100 Subject: [PATCH 4/4] Add tolerations to helm for deployment (#143) Signed-off-by: ldruwel Co-authored-by: ldruwel Co-authored-by: Joshua Wright <19779568+joshw123@users.noreply.github.com> --- deploy/charts/version-checker/templates/deployment.yaml | 4 ++++ deploy/charts/version-checker/values.yaml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/deploy/charts/version-checker/templates/deployment.yaml b/deploy/charts/version-checker/templates/deployment.yaml index 5f610e6d..2004b210 100644 --- a/deploy/charts/version-checker/templates/deployment.yaml +++ b/deploy/charts/version-checker/templates/deployment.yaml @@ -31,6 +31,10 @@ spec: {{- end }} spec: serviceAccountName: {{ $chartname }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | trim | nindent 8 }} + {{- end }} containers: - name: {{ $chartname }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" diff --git a/deploy/charts/version-checker/values.yaml b/deploy/charts/version-checker/values.yaml index 24132933..bdd0b9ee 100644 --- a/deploy/charts/version-checker/values.yaml +++ b/deploy/charts/version-checker/values.yaml @@ -17,6 +17,9 @@ image: # -- Set the Image Pull Policy pullPolicy: IfNotPresent +# -- Configure tolerations +tolerations: [] + # -- Configure version-checkers Service service: labels: {} @@ -97,6 +100,7 @@ selfhosted: # password: bar # token: + # -- Setup version-checkers resource requests/limits resources: {}