From 4e1f66bd03763c9b3644c81ce03099c47e123c57 Mon Sep 17 00:00:00 2001 From: Lothar Bach Date: Fri, 15 Mar 2024 15:30:08 +0100 Subject: [PATCH] Define images repository and tag as seperate keys, fallback to old style (#16) and switch to new upstream registry --- charts/etcd/templates/_image.tpl | 15 +++++++ charts/etcd/templates/statefulset-etcd.yaml | 4 +- charts/etcd/tests/statefulset-etcd_test.yaml | 46 ++++++++++++++++++++ charts/etcd/values.yaml | 12 +++-- test-values.yaml | 10 +++++ 5 files changed, 82 insertions(+), 5 deletions(-) create mode 100644 charts/etcd/templates/_image.tpl create mode 100644 charts/etcd/tests/statefulset-etcd_test.yaml create mode 100644 test-values.yaml diff --git a/charts/etcd/templates/_image.tpl b/charts/etcd/templates/_image.tpl new file mode 100644 index 0000000..4bdcaf3 --- /dev/null +++ b/charts/etcd/templates/_image.tpl @@ -0,0 +1,15 @@ +{{- define "image-etcd" -}} +{{- if ((.Values.images).etcd) -}} +{{ .Values.images.etcd }} +{{- else -}} +{{ (index .Values "etcd").image.repository }}:{{ (index .Values "etcd").image.tag }} +{{- end -}} +{{- end -}} + +{{- define "image-etcd-backup-restore" -}} +{{- if (and (hasKey .Values "images") (index .Values.images "etcd-backup-restore")) -}} +{{ index .Values.images "etcd-backup-restore" }} +{{- else -}} +{{ (index .Values "etcd-backup-restore").image.repository }}:{{ (index .Values "etcd-backup-restore").image.tag }} +{{- end -}} +{{- end -}} diff --git a/charts/etcd/templates/statefulset-etcd.yaml b/charts/etcd/templates/statefulset-etcd.yaml index 6ba8fe3..98d4a29 100644 --- a/charts/etcd/templates/statefulset-etcd.yaml +++ b/charts/etcd/templates/statefulset-etcd.yaml @@ -47,7 +47,7 @@ spec: spec: containers: - name: etcd - image: {{ index .Values.images "etcd" }} + image: {{ template "image-etcd" . }} imagePullPolicy: IfNotPresent command: - /bootstrap/bootstrap.sh @@ -123,7 +123,7 @@ spec: - --service-endpoints=https://{{ .Values.name }}-0:2379 - --etcd-connection-timeout=300s - --delta-snapshot-period=300s - image: {{ index .Values.images "etcd-backup-restore" }} + image: {{ template "image-etcd-backup-restore" . }} imagePullPolicy: IfNotPresent ports: - containerPort: 8080 diff --git a/charts/etcd/tests/statefulset-etcd_test.yaml b/charts/etcd/tests/statefulset-etcd_test.yaml new file mode 100644 index 0000000..6bcb03b --- /dev/null +++ b/charts/etcd/tests/statefulset-etcd_test.yaml @@ -0,0 +1,46 @@ +templates: + - statefulset-etcd.yaml +tests: + - it: should use the default values images + values: + - ../../../test-values.yaml + asserts: + - equal: + path: spec.template.spec.containers[0].image + value: europe-docker.pkg.dev/gardener-project/public/gardener/etcd:v3.4.26-3 + - equal: + path: spec.template.spec.containers[1].image + value: europe-docker.pkg.dev/gardener-project/public/gardener/etcdbrctl:v0.24.8 + - it: should allow overwriting the images + values: + - ../../../test-values.yaml + set: + etcd: + image: + repository: foo/bar + tag: baz + etcd-backup-restore: + image: + repository: baz/foo + tag: bar + asserts: + - equal: + path: spec.template.spec.containers[0].image + value: foo/bar:baz + - equal: + path: spec.template.spec.containers[1].image + value: baz/foo:bar + - it: should include the old style image repo:tag when provided + values: + - ../../../test-values.yaml + set: + images: + etcd: foo/bar:baz + etcd-backup-restore: baz/foo:bar + asserts: + - equal: + path: spec.template.spec.containers[0].image + value: foo/bar:baz + - equal: + path: spec.template.spec.containers[1].image + value: baz/foo:bar diff --git a/charts/etcd/values.yaml b/charts/etcd/values.yaml index b260bee..0f14787 100644 --- a/charts/etcd/values.yaml +++ b/charts/etcd/values.yaml @@ -14,9 +14,15 @@ name: etcd -images: - etcd: eu.gcr.io/gardener-project/gardener/etcd:v3.4.26-3 - etcd-backup-restore: eu.gcr.io/gardener-project/gardener/etcdbrctl:v0.24.7 +etcd: + image: + repository: europe-docker.pkg.dev/gardener-project/public/gardener/etcd + tag: v3.4.26-3 + +etcd-backup-restore: + image: + repository: europe-docker.pkg.dev/gardener-project/public/gardener/etcdbrctl + tag: v0.24.8 backup: schedule: "0 */24 * * *" # cron standard schedule diff --git a/test-values.yaml b/test-values.yaml new file mode 100644 index 0000000..5a9d333 --- /dev/null +++ b/test-values.yaml @@ -0,0 +1,10 @@ +tls: + ca: + crt: dGVzdA== + key: dGVzdA== + server: + crt: dGVzdA== + key: dGVzdA== + client: + crt: dGVzdA== + key: dGVzdA==