From a61407abcf1be48908e5d2bfc6cca6dc3edbb93c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20BUISSON?= Date: Mon, 21 Nov 2022 11:45:56 +0100 Subject: [PATCH] fix: apply CR suggestions --- Dockerfile | 3 ++- cmd/root.go | 4 +++- pkg/registry/ecr.go | 7 +++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 62a2ddf3..59b3d02f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,8 @@ FROM alpine:3.17.0 RUN ["apk", "add", "--no-cache", "--repository=http://dl-cdn.alpinelinux.org/alpine/edge/community", "skopeo>=1.2.0"] -COPY k8s-image-swapper / +ARG TARGETARCH +COPY k8s-image-swapper-$TARGETARCH /k8s-image-swapper ENTRYPOINT ["/k8s-image-swapper"] diff --git a/cmd/root.go b/cmd/root.go index 0bd888b5..69dc9844 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -63,12 +63,14 @@ A mutating webhook for Kubernetes, pointing the images to a new location.`, //metricsRec := metrics.NewPrometheus(promReg) log.Trace().Interface("config", cfg).Msg("config") - rClient, err := registry.NewECRClient(cfg.Target.AWS.Region, cfg.Target.AWS.EcrDomain(), cfg.Target.AWS.AccountID, cfg.Target.AWS.Role, cfg.Target.AWS.AccessPolicy, cfg.Target.AWS.LifecyclePolicy, cfg.RepositoryCustomTags) + rClient, err := registry.NewECRClient(cfg.Target.AWS.Region, cfg.Target.AWS.EcrDomain(), cfg.Target.AWS.AccountID, cfg.Target.AWS.Role, cfg.Target.AWS.AccessPolicy, cfg.Target.AWS.LifecyclePolicy) if err != nil { log.Err(err).Msg("error connecting to registry client") os.Exit(1) } + rClient.SetRepositoryCustomTags(cfg.RepositoryCustomTags) + imageSwapPolicy, err := types.ParseImageSwapPolicy(cfg.ImageSwapPolicy) if err != nil { log.Err(err) diff --git a/pkg/registry/ecr.go b/pkg/registry/ecr.go index 1b9e1e92..bfe0f486 100644 --- a/pkg/registry/ecr.go +++ b/pkg/registry/ecr.go @@ -99,6 +99,10 @@ func (e *ECRClient) CreateRepository(name string) error { return nil } +func (e *ECRClient) SetRepositoryCustomTags(tags []config.CustomTag) { + e.customTags = tags +} + func (e *ECRClient) buildEcrTags() []*ecr.Tag { ecrTags := []*ecr.Tag{ { @@ -196,7 +200,7 @@ func (e *ECRClient) scheduleTokenRenewal() error { return nil } -func NewECRClient(region string, ecrDomain string, targetAccount string, role string, accessPolicy string, lifecyclePolicy string, ecrCustomTags []config.CustomTag) (*ECRClient, error) { +func NewECRClient(region string, ecrDomain string, targetAccount string, role string, accessPolicy string, lifecyclePolicy string) (*ECRClient, error) { var sess *session.Session var config *aws.Config if role != "" { @@ -245,7 +249,6 @@ func NewECRClient(region string, ecrDomain string, targetAccount string, role st targetAccount: targetAccount, accessPolicy: accessPolicy, lifecyclePolicy: lifecyclePolicy, - customTags: ecrCustomTags, } if err := client.scheduleTokenRenewal(); err != nil {