From 128b0ed35f6dd2b0bc953d809fa2b0e1063bf375 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 12 Sep 2023 15:53:46 +0200
Subject: [PATCH] OZG-3961 OZG-4331 switch for old kopOperator to keep clients

---
 .../helm/templates/keycloak-client-crd.yaml   |  9 ++++++++
 src/test/helm/keycloak-client-crd-test.yaml   | 21 +++++++++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/src/main/helm/templates/keycloak-client-crd.yaml b/src/main/helm/templates/keycloak-client-crd.yaml
index 57e550c3ad..1e5509d911 100644
--- a/src/main/helm/templates/keycloak-client-crd.yaml
+++ b/src/main/helm/templates/keycloak-client-crd.yaml
@@ -1,10 +1,19 @@
 {{ range $client := .Values.sso.keycloak_clients }}
 ---
+{{- if $client.kopOperator }}
+apiVersion: api.kop-stack.de/v1
+kind: KopKeycloakClient
+{{- else }}
 apiVersion: operator.ozgcloud.de/v1
 kind: OzgKeycloakClient
+{{- end }}
 metadata:
   name: {{ include "app.generateKeycloakClientRessourceName" $client.client_name }}
   namespace: {{ include "app.namespace" $ }}
+{{- if $client.kopOperator }}
+  annotations:
+    "helm.sh/resource-policy": keep
+{{- end }}
 spec:
   keep_after_delete: {{ $.Values.sso.keep_after_delete | default false }}
   client_name: {{ $client.client_name }}
diff --git a/src/test/helm/keycloak-client-crd-test.yaml b/src/test/helm/keycloak-client-crd-test.yaml
index 3140b69cf5..37334dedbf 100644
--- a/src/test/helm/keycloak-client-crd-test.yaml
+++ b/src/test/helm/keycloak-client-crd-test.yaml
@@ -51,6 +51,27 @@ tests:
       - equal:
           path: metadata.namespace
           value: by-helm-test
+  - it: should contain header data for kopOperator
+    set:
+      sso:
+         keycloak_clients:
+           - client_name: alfa
+             kopOperator: true
+    asserts:
+      - isAPIVersion:
+          of: api.kop-stack.de/v1
+      - isKind:
+          of: KopKeycloakClient
+  - it: should have annotations for kopOperator
+    set:
+      sso:
+        keycloak_clients:
+          - client_name: alfa
+            kopOperator: true
+    asserts:
+      - equal:
+          path: metadata.annotations.[helm.sh/resource-policy]
+          value: keep
   - it: should have default Values
     set:
       baseUrl: test.by.ozg-cloud.de
-- 
GitLab