diff --git a/src/main/helm/templates/keycloak-client-crd.yaml b/src/main/helm/templates/keycloak-client-crd.yaml index 57e550c3ad005a53cace6b3bb50fc753b8645562..1e5509d9114b14284a7e5f49361332832cff0107 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 3140b69cf5f495c90a3d987287c207284c7cc954..37334dedbf0deeb11c289c0a84747793d4877096 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