From fb904cd8508f09d806c2796cdf19f5b344693218 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 27 Feb 2024 13:58:06 +0100
Subject: [PATCH] OZG-4923-keycloak operator imagePullSecret aus Namespace
 nutzen

---
 ozgcloud-keycloak-operator/run_helm_test.sh   |  2 +-
 .../src/main/helm/templates/_helpers.tpl      |  6 ---
 .../src/main/helm/templates/deployment.yaml   |  2 +-
 .../helm/templates/image_pull_secret.yaml     | 32 --------------
 .../src/test/helm/deployment_env_test.yaml    |  2 +
 .../helm/deployment_matchlabels_test.yaml     | 13 ++----
 .../helm/deployment_metadata_labels_test.yaml | 12 ++----
 .../helm/deployment_pull_secret_test.yaml     |  3 +-
 .../test/helm/deployment_resources_test.yaml  |  2 +
 .../src/test/helm/deployment_test.yaml        |  2 +
 .../src/test/helm/image_pull_secret_test.yaml | 42 -------------------
 .../src/test/helm/linter_values.yaml          |  3 +-
 12 files changed, 20 insertions(+), 101 deletions(-)
 delete mode 100644 ozgcloud-keycloak-operator/src/main/helm/templates/image_pull_secret.yaml
 delete mode 100644 ozgcloud-keycloak-operator/src/test/helm/image_pull_secret_test.yaml

diff --git a/ozgcloud-keycloak-operator/run_helm_test.sh b/ozgcloud-keycloak-operator/run_helm_test.sh
index 44b6c30..f986b2c 100755
--- a/ozgcloud-keycloak-operator/run_helm_test.sh
+++ b/ozgcloud-keycloak-operator/run_helm_test.sh
@@ -4,4 +4,4 @@ set -e
 
 helm template  ./src/main/helm/ -f src/test/helm/linter_values.yaml
 helm lint -f src/test/helm/linter_values.yaml ./src/main/helm/
-cd src/main/helm && helm unittest -f '../../test/helm/*/*.yaml'  .
+cd src/main/helm && helm unittest -f '../../test/helm/**/*test.yaml'  .
diff --git a/ozgcloud-keycloak-operator/src/main/helm/templates/_helpers.tpl b/ozgcloud-keycloak-operator/src/main/helm/templates/_helpers.tpl
index 2027ecd..26abf5b 100644
--- a/ozgcloud-keycloak-operator/src/main/helm/templates/_helpers.tpl
+++ b/ozgcloud-keycloak-operator/src/main/helm/templates/_helpers.tpl
@@ -1,11 +1,5 @@
 
 
-{{- 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.matchLabels" }}
 app.kubernetes.io/name: {{ .Release.Name }}
 app.kubernetes.io/namespace: {{ .Release.Namespace }}
diff --git a/ozgcloud-keycloak-operator/src/main/helm/templates/deployment.yaml b/ozgcloud-keycloak-operator/src/main/helm/templates/deployment.yaml
index 93e9c33..648ac58 100644
--- a/ozgcloud-keycloak-operator/src/main/helm/templates/deployment.yaml
+++ b/ozgcloud-keycloak-operator/src/main/helm/templates/deployment.yaml
@@ -88,6 +88,6 @@ spec:
       dnsConfig: {}
       dnsPolicy: ClusterFirst
       imagePullSecrets:
-      - name: {{ .Release.Name }}-image-pull-secret
+      - name: {{ required "imagePullSecret must be set" .Values.imagePullSecret }}
       restartPolicy: Always
 
diff --git a/ozgcloud-keycloak-operator/src/main/helm/templates/image_pull_secret.yaml b/ozgcloud-keycloak-operator/src/main/helm/templates/image_pull_secret.yaml
deleted file mode 100644
index cbd6ffe..0000000
--- a/ozgcloud-keycloak-operator/src/main/helm/templates/image_pull_secret.yaml
+++ /dev/null
@@ -1,32 +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.
-#
-
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ .Release.Name }}-image-pull-secret
-  namespace: {{ .Release.Namespace }}
-type: kubernetes.io/dockerconfigjson
-data:
-  .dockerconfigjson: {{ include "app.imagePullSecret" . }}
\ No newline at end of file
diff --git a/ozgcloud-keycloak-operator/src/test/helm/deployment_env_test.yaml b/ozgcloud-keycloak-operator/src/test/helm/deployment_env_test.yaml
index 0e0f578..2da4dfc 100644
--- a/ozgcloud-keycloak-operator/src/test/helm/deployment_env_test.yaml
+++ b/ozgcloud-keycloak-operator/src/test/helm/deployment_env_test.yaml
@@ -25,6 +25,8 @@
 suite: test environments
 templates:
   - templates/deployment.yaml
+set:
+  imagePullSecret: "docker-secret"
 tests:
   - it: check customList
     template: deployment.yaml
diff --git a/ozgcloud-keycloak-operator/src/test/helm/deployment_matchlabels_test.yaml b/ozgcloud-keycloak-operator/src/test/helm/deployment_matchlabels_test.yaml
index 2f8cde7..a7884b3 100644
--- a/ozgcloud-keycloak-operator/src/test/helm/deployment_matchlabels_test.yaml
+++ b/ozgcloud-keycloak-operator/src/test/helm/deployment_matchlabels_test.yaml
@@ -28,6 +28,8 @@ release:
   namespace: sh-helm-test
 templates:
   - templates/deployment.yaml
+set:
+  imagePullSecret: "docker-secret"
 tests:
   - it: check matchlabels
     set:
@@ -36,15 +38,8 @@ tests:
         tag: latest
     asserts:
       - equal:
-          path: spec.selector.matchLabels.[app.kubernetes.io/name]
+          path: spec.selector.matchLabels["app.kubernetes.io/name"]
           value: ozgcloud-keycloak-operator
       - equal:
-          path: spec.selector.matchLabels.[app.kubernetes.io/namespace]
-          value: sh-helm-test
-
-      - equal:
-          path: spec.template.metadata.labels.[app.kubernetes.io/name]
-          value: ozgcloud-keycloak-operator
-      - equal:
-          path: spec.template.metadata.labels.[app.kubernetes.io/namespace]
+          path: spec.selector.matchLabels["app.kubernetes.io/namespace"]
           value: sh-helm-test
\ No newline at end of file
diff --git a/ozgcloud-keycloak-operator/src/test/helm/deployment_metadata_labels_test.yaml b/ozgcloud-keycloak-operator/src/test/helm/deployment_metadata_labels_test.yaml
index 1cbd552..813f199 100644
--- a/ozgcloud-keycloak-operator/src/test/helm/deployment_metadata_labels_test.yaml
+++ b/ozgcloud-keycloak-operator/src/test/helm/deployment_metadata_labels_test.yaml
@@ -28,6 +28,8 @@ release:
   namespace: sh-helm-test
 templates:
   - templates/deployment.yaml
+set:
+  imagePullSecret: "docker-secret"
 tests:
   - it: check default labels
     set:
@@ -36,14 +38,8 @@ tests:
         tag: latest
     asserts:
       - equal:
-          path: metadata.labels.[app.kubernetes.io/instance]
+          path: metadata.labels["app.kubernetes.io/name"]
           value: ozgcloud-keycloak-operator
       - equal:
-          path: metadata.labels.[app.kubernetes.io/name]
-          value: ozgcloud-keycloak-operator
-      - equal:
-          path: metadata.labels.[app.kubernetes.io/part-of]
-          value: ozg
-      - equal:
-          path: metadata.labels.[app.kubernetes.io/namespace]
+          path: metadata.labels["app.kubernetes.io/namespace"]
           value: sh-helm-test
\ No newline at end of file
diff --git a/ozgcloud-keycloak-operator/src/test/helm/deployment_pull_secret_test.yaml b/ozgcloud-keycloak-operator/src/test/helm/deployment_pull_secret_test.yaml
index 659b348..eee9267 100644
--- a/ozgcloud-keycloak-operator/src/test/helm/deployment_pull_secret_test.yaml
+++ b/ozgcloud-keycloak-operator/src/test/helm/deployment_pull_secret_test.yaml
@@ -34,7 +34,8 @@ tests:
       image:
         name: hase
         tag: latest
+      imagePullSecret: imagePullSecret
     asserts:
       - equal:
           path: spec.template.spec.imagePullSecrets[0].name
-          value: ozgcloud-keycloak-operator-image-pull-secret
+          value: imagePullSecret
diff --git a/ozgcloud-keycloak-operator/src/test/helm/deployment_resources_test.yaml b/ozgcloud-keycloak-operator/src/test/helm/deployment_resources_test.yaml
index fa07f88..01112af 100644
--- a/ozgcloud-keycloak-operator/src/test/helm/deployment_resources_test.yaml
+++ b/ozgcloud-keycloak-operator/src/test/helm/deployment_resources_test.yaml
@@ -27,6 +27,8 @@ release:
   name: afm-adapter
 templates:
   - templates/deployment.yaml
+set:
+  imagePullSecret: "docker-secret"
 tests:
   - it: test resources
     set:
diff --git a/ozgcloud-keycloak-operator/src/test/helm/deployment_test.yaml b/ozgcloud-keycloak-operator/src/test/helm/deployment_test.yaml
index 652f411..11f427f 100644
--- a/ozgcloud-keycloak-operator/src/test/helm/deployment_test.yaml
+++ b/ozgcloud-keycloak-operator/src/test/helm/deployment_test.yaml
@@ -28,6 +28,8 @@ release:
   namespace: sh-helm-test
 templates:
   - deployment.yaml
+set:
+  imagePullSecret: "docker-secret"
 tests:
   - it: validate image type and container image
     set:
diff --git a/ozgcloud-keycloak-operator/src/test/helm/image_pull_secret_test.yaml b/ozgcloud-keycloak-operator/src/test/helm/image_pull_secret_test.yaml
deleted file mode 100644
index 75f0498..0000000
--- a/ozgcloud-keycloak-operator/src/test/helm/image_pull_secret_test.yaml
+++ /dev/null
@@ -1,42 +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: intelliform-adaptero
-  namespace: helm-test
-tests:
-  - it: should match basic data
-    asserts:
-      - containsDocument:
-          kind: Secret
-          apiVersion: v1
-      - equal:
-          path: metadata.name
-          value: intelliform-adaptero-image-pull-secret
-      - equal:
-          path: metadata.namespace
-          value: helm-test
diff --git a/ozgcloud-keycloak-operator/src/test/helm/linter_values.yaml b/ozgcloud-keycloak-operator/src/test/helm/linter_values.yaml
index 559f2b3..bd8067f 100644
--- a/ozgcloud-keycloak-operator/src/test/helm/linter_values.yaml
+++ b/ozgcloud-keycloak-operator/src/test/helm/linter_values.yaml
@@ -1,4 +1,5 @@
 
 image:
   name: test
-  tag: latest
\ No newline at end of file
+  tag: latest
+imagePullSecret: "docker-secret"
\ No newline at end of file
-- 
GitLab