From 6c36cb3ee70fb4094aa680aa69760b64838f1533 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Wed, 10 Apr 2024 14:12:55 +0200 Subject: [PATCH] OZG-3328 refactor xta adapter helm imagePullSecret --- .../src/main/helm/templates/_helpers.tpl | 6 -- .../helm/templates/image_pull_secret.yaml | 34 ----------- .../helm/templates/xta_adapter_cronjob.yaml | 6 +- xta-adapter/src/test/helm-linter-values.yaml | 3 +- .../src/test/helm/image_pull_secret_test.yaml | 59 ------------------- .../test/helm/xta_adapter_63_chars_test.yaml | 1 + .../helm/xta_adapter_cronjob_basic_test.yaml | 3 +- .../xta_adapter_cronjob_bindings_test.yaml | 1 + ...xta_adapter_cronjob_dummy_probes_test.yaml | 3 +- .../helm/xta_adapter_cronjob_env_test.yaml | 3 +- .../xta_adapter_cronjob_image_pull_test.yaml | 8 +-- .../xta_adapter_cronjob_resources_test.yaml | 3 +- ...adapter_cronjob_service_account_test.yaml} | 1 + .../xta_adapter_cronjob_volumes_test.yaml | 3 +- 14 files changed, 19 insertions(+), 115 deletions(-) delete mode 100644 xta-adapter/src/main/helm/templates/image_pull_secret.yaml delete mode 100644 xta-adapter/src/test/helm/image_pull_secret_test.yaml rename xta-adapter/src/test/helm/{cronjob_service_account_test.yaml => xta_adapter_cronjob_service_account_test.yaml} (97%) diff --git a/xta-adapter/src/main/helm/templates/_helpers.tpl b/xta-adapter/src/main/helm/templates/_helpers.tpl index afcc6d669..5d09c8564 100644 --- a/xta-adapter/src/main/helm/templates/_helpers.tpl +++ b/xta-adapter/src/main/helm/templates/_helpers.tpl @@ -36,12 +36,6 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} helm.sh/chart: {{ include "app.chart" . }} {{- end -}} -{{- define "app.imagePullSecret" }} -{{- with .Values.imageCredentials }} -{{- printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" .registry .username .password .email (printf "%s:%s" .username .password | b64enc) | b64enc }} -{{- end }} -{{- end }} - {{- define "app.envSpringProfiles" }} {{- if (.Values.env).overrideSpringProfiles -}} {{ printf "%s" (.Values.env).overrideSpringProfiles }} diff --git a/xta-adapter/src/main/helm/templates/image_pull_secret.yaml b/xta-adapter/src/main/helm/templates/image_pull_secret.yaml deleted file mode 100644 index 327b37f8b..000000000 --- a/xta-adapter/src/main/helm/templates/image_pull_secret.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# -# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den -# Ministerpräsidenten des Landes Schleswig-Holstein -# Staatskanzlei -# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung -# -# Lizenziert unter der EUPL, Version 1.2 oder - sobald -# diese von der Europäischen Kommission genehmigt wurden - -# Folgeversionen der EUPL ("Lizenz"); -# Sie dürfen dieses Werk ausschließlich gemäß -# dieser Lizenz nutzen. -# Eine Kopie der Lizenz finden Sie hier: -# -# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 -# -# Sofern nicht durch anwendbare Rechtsvorschriften -# gefordert oder in schriftlicher Form vereinbart, wird -# die unter der Lizenz verbreitete Software "so wie sie -# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - -# ausdrücklich oder stillschweigend - verbreitet. -# Die sprachspezifischen Genehmigungen und Beschränkungen -# unter der Lizenz sind dem Lizenztext zu entnehmen. -# - -{{- if not (.Values.imagePullSecret) }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Release.Name }}-image-pull-secret - namespace: {{ include "app.namespace" . }} -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ include "app.imagePullSecret" . }} -{{- end }} \ No newline at end of file diff --git a/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml b/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml index 2d91bf430..1159ff69e 100644 --- a/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml +++ b/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml @@ -163,11 +163,7 @@ spec: - name: temp-dir emptyDir: {} imagePullSecrets: - {{- if .Values.imagePullSecret }} - - name: {{ .Values.imagePullSecret }} - {{ else }} - - name: {{ .Release.Name }}-image-pull-secret - {{- end }} + - name: {{ required "imagePullSecret must be set" .Values.imagePullSecret }} {{- with .Values.podSecurityContext }} securityContext: {{ toYaml . | indent 12 }} diff --git a/xta-adapter/src/test/helm-linter-values.yaml b/xta-adapter/src/test/helm-linter-values.yaml index 61f944220..2c2f51b5d 100644 --- a/xta-adapter/src/test/helm-linter-values.yaml +++ b/xta-adapter/src/test/helm-linter-values.yaml @@ -29,4 +29,5 @@ ozgcloud: networkPolicy: - dnsServerNamespace: test-dns-server-namespace \ No newline at end of file + dnsServerNamespace: test-dns-server-namespace +imagePullSecret: image-pull-secret \ No newline at end of file diff --git a/xta-adapter/src/test/helm/image_pull_secret_test.yaml b/xta-adapter/src/test/helm/image_pull_secret_test.yaml deleted file mode 100644 index 4ffa69cba..000000000 --- a/xta-adapter/src/test/helm/image_pull_secret_test.yaml +++ /dev/null @@ -1,59 +0,0 @@ -# -# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den -# Ministerpräsidenten des Landes Schleswig-Holstein -# Staatskanzlei -# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung -# -# Lizenziert unter der EUPL, Version 1.2 oder - sobald -# diese von der Europäischen Kommission genehmigt wurden - -# Folgeversionen der EUPL ("Lizenz"); -# Sie dürfen dieses Werk ausschließlich gemäß -# dieser Lizenz nutzen. -# Eine Kopie der Lizenz finden Sie hier: -# -# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 -# -# Sofern nicht durch anwendbare Rechtsvorschriften -# gefordert oder in schriftlicher Form vereinbart, wird -# die unter der Lizenz verbreitete Software "so wie sie -# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - -# ausdrücklich oder stillschweigend - verbreitet. -# Die sprachspezifischen Genehmigungen und Beschränkungen -# unter der Lizenz sind dem Lizenztext zu entnehmen. -# - -suite: test image pull secret -templates: - - templates/image_pull_secret.yaml -release: - name: xta-adapter - namespace: helm-test -tests: - - it: should match basic data - set: - imageCredentials: - registry: docker.ozg-sh.de - username: test - password: test1234 - email: webmaster@ozg-sh.de - asserts: - - hasDocuments: - count: 1 - - containsDocument: - kind: Secret - apiVersion: v1 - - equal: - path: metadata.name - value: xta-adapter-image-pull-secret - - equal: - path: metadata.namespace - value: helm-test - - isNotEmpty: - path: data[".dockerconfigjson"] - - - it: should not create image pull secret - set: - imagePullSecret: "image-pull-secret" - asserts: - - hasDocuments: - count: 0 \ No newline at end of file diff --git a/xta-adapter/src/test/helm/xta_adapter_63_chars_test.yaml b/xta-adapter/src/test/helm/xta_adapter_63_chars_test.yaml index b2a1223a8..941883545 100644 --- a/xta-adapter/src/test/helm/xta_adapter_63_chars_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_63_chars_test.yaml @@ -28,6 +28,7 @@ release: namespace: sh-helm-test set: ozgcloud.environment: test + imagePullSecret: image-pull-secret chart: name: xta-adapter diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml index 74afdf5e3..3e4e37b8f 100644 --- a/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml @@ -22,7 +22,7 @@ # unter der Lizenz sind dem Lizenztext zu entnehmen. # -suite: test xta adapter cronjob +suite: test xta adapter cronjob basics templates: - templates/xta_adapter_cronjob.yaml release: @@ -30,6 +30,7 @@ release: namespace: helm-test set: ozgcloud.environment: dev + imagePullSecret: image-pull-secret tests: - it: validate basic data diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_bindings_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_bindings_test.yaml index 959b0b824..9305d2d92 100644 --- a/xta-adapter/src/test/helm/xta_adapter_cronjob_bindings_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_bindings_test.yaml @@ -27,6 +27,7 @@ templates: - templates/xta_adapter_cronjob.yaml set: ozgcloud.environment: test + imagePullSecret: image-pull-secret tests: - it: should have temp-dir volume asserts: diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml index dc08c5ac6..a8cd367dc 100644 --- a/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml @@ -22,7 +22,7 @@ # unter der Lizenz sind dem Lizenztext zu entnehmen. # -suite: test xta adapter cronjob +suite: test xta adapter cronjob dummy probes templates: - templates/xta_adapter_cronjob.yaml release: @@ -30,6 +30,7 @@ release: namespace: helm-test set: ozgcloud.environment: test + imagePullSecret: image-pull-secret tests: - it: check dummy livenessProbe default disabled asserts: diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_env_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_env_test.yaml index 294bf8fb9..4e84137ff 100644 --- a/xta-adapter/src/test/helm/xta_adapter_cronjob_env_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_env_test.yaml @@ -22,7 +22,7 @@ # unter der Lizenz sind dem Lizenztext zu entnehmen. # -suite: test xta adapter cronjob +suite: test xta adapter cronjob env templates: - templates/xta_adapter_cronjob.yaml release: @@ -30,6 +30,7 @@ release: namespace: helm-test set: ozgcloud.environment: test + imagePullSecret: image-pull-secret tests: - it: check default env set: diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_image_pull_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_image_pull_test.yaml index bf1fb21e3..645b25738 100644 --- a/xta-adapter/src/test/helm/xta_adapter_cronjob_image_pull_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_image_pull_test.yaml @@ -32,12 +32,10 @@ set: ozgcloud.environment: dev tests: - - it: should use default imagePull secret - set: + - it: should fail when imagePull secret not set asserts: - - equal: - path: spec.jobTemplate.spec.template.spec.imagePullSecrets[0].name - value: xta-adapter-image-pull-secret + - failedTemplate: + errormessage: imagePullSecret must be set - it: should set the imagePull secret set: imagePullSecret: image-pull-secret diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml index b9b879cd3..a2db96cbe 100644 --- a/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml @@ -22,7 +22,7 @@ # unter der Lizenz sind dem Lizenztext zu entnehmen. # -suite: test xta adapter cronjob +suite: test xta adapter cronjob resources templates: - templates/xta_adapter_cronjob.yaml release: @@ -30,6 +30,7 @@ release: namespace: helm-test set: ozgcloud.environment: dev + imagePullSecret: image-pull-secret tests: - it: check resources set: diff --git a/xta-adapter/src/test/helm/cronjob_service_account_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_service_account_test.yaml similarity index 97% rename from xta-adapter/src/test/helm/cronjob_service_account_test.yaml rename to xta-adapter/src/test/helm/xta_adapter_cronjob_service_account_test.yaml index b84278f12..961dbcf20 100644 --- a/xta-adapter/src/test/helm/cronjob_service_account_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_service_account_test.yaml @@ -30,6 +30,7 @@ release: namespace: helm-test set: ozgcloud.environment: test + imagePullSecret: image-pull-secret tests: - it: should use service account with default name set: diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_volumes_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_volumes_test.yaml index bbddacc94..7af81adc1 100644 --- a/xta-adapter/src/test/helm/xta_adapter_cronjob_volumes_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_volumes_test.yaml @@ -22,7 +22,7 @@ # unter der Lizenz sind dem Lizenztext zu entnehmen. # -suite: test xta adapter cronjob +suite: test xta adapter cronjob volume templates: - templates/xta_adapter_cronjob.yaml release: @@ -30,6 +30,7 @@ release: namespace: helm-test set: ozgcloud.environment: dev + imagePullSecret: image-pull-secret tests: - it: check volume mounts set: -- GitLab