diff --git a/alfa-xdomea/pom.xml b/alfa-xdomea/pom.xml index 7d985b69d881b18f2336b216492a106f459eb4fd..4a877ce614d7f3b270517a089f8a80037ecc7f7f 100644 --- a/alfa-xdomea/pom.xml +++ b/alfa-xdomea/pom.xml @@ -35,8 +35,8 @@ </parent> <artifactId>alfa-xdomea</artifactId> - <name>Alfa XDomea</name> - <description>Alfa XDomea implementation</description> + <name>Alfa xdomea</name> + <description>Alfa xdomea implementation</description> <packaging>jar</packaging> <properties> diff --git a/src/main/helm/templates/_helpers.tpl b/src/main/helm/templates/_helpers.tpl index 3e7f6c684152ea241963aa5be95c0f153edc1fa2..604a5f5280aa5f86b7ce69a9b4351b1c84194565 100644 --- a/src/main/helm/templates/_helpers.tpl +++ b/src/main/helm/templates/_helpers.tpl @@ -58,7 +58,7 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{ printf "%s.%s:9000" ( coalesce .Values.usermanagerName "user-manager" ) .Release.Namespace }} {{- end -}} -{{- define "app.baseUrlDirect" -}} +{{- define "app.baseUrl" -}} {{- required "baseUrl muss angegeben sein" .Values.baseUrl }} {{- end -}} @@ -66,7 +66,7 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{- if (.Values).usermanagerUrl -}} {{ printf "%s" (.Values).usermanagerUrl }} {{- else -}} -{{ printf "https://%s-%s.%s" (include "app.ozgcloudBezeichner" .) .Values.usermanagerName (include "app.baseUrlDirect" .) }} +{{ printf "https://%s-%s.%s" (include "app.ozgcloudBezeichner" .) .Values.usermanagerName (include "app.baseUrl" .) }} {{- end -}} {{- end -}} @@ -82,8 +82,8 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{- define "app.ozgcloudBezeichner" -}} {{- required "ozgcloud.bezeichner muss angegeben sein" (.Values.ozgcloud).bezeichner -}} -{{- if lt 27 (len (.Values.ozgcloud).bezeichner) -}} -{{ fail (printf "ozgcloud.bezeichner %s ist zu lang (max. 27 Zeichen)" (.Values.ozgcloud).bezeichner) }} +{{- if lt 46 (len (.Values.ozgcloud).bezeichner) -}} +{{ fail (printf "ozgcloud.bezeichner %s ist zu lang (max. 46 Zeichen)" (.Values.ozgcloud).bezeichner) }} {{- end -}} {{- end -}} @@ -117,8 +117,8 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{- required "sso.serverUrl muss angegeben sein" (.Values.sso).serverUrl -}} {{- end -}} -{{- define "app.baseUrl" -}} -{{ printf "https://%s.%s" (include "app.ozgcloudBezeichner" .) .Values.baseUrl }} +{{- define "app.baseDomain" -}} +{{- printf "%s.%s" (include "app.ozgcloudBezeichner" .) (include "app.baseUrl" .) }} {{- end -}} {{- define "app.generateKeycloakGroupRessourceName" -}} diff --git a/src/main/helm/templates/ingress.yaml b/src/main/helm/templates/ingress.yaml index 2dea7390aa17f67f6566eacc6b712798b3180551..a4b5ccf04cc1ad289393b35dbeba455a6e9cf2df 100644 --- a/src/main/helm/templates/ingress.yaml +++ b/src/main/helm/templates/ingress.yaml @@ -52,10 +52,10 @@ spec: name: {{ include "app.name" . }} path: '' pathType: ImplementationSpecific - host: {{ trimPrefix "https://" ( include "app.baseUrl" . ) }} + host: {{ include "app.baseDomain" . }} tls: - hosts: - - {{ trimPrefix "https://" ( include "app.baseUrl" . ) }} + - {{ include "app.baseDomain" . }} {{- if (.Values.ingress).tlsSecretName }} secretName: {{ (.Values.ingress).tlsSecretName }} {{- else if ne (.Values).cluster_env "dataport" }} diff --git a/src/main/helm/templates/keycloak-client-crd.yaml b/src/main/helm/templates/keycloak-client-crd.yaml index 2a2b9b48e7ed0cc747f9acfcd18c76d555681ca4..5b0a6f895418a3ba333a2d6d0e83ec102b1ccd6d 100644 --- a/src/main/helm/templates/keycloak-client-crd.yaml +++ b/src/main/helm/templates/keycloak-client-crd.yaml @@ -21,7 +21,7 @@ spec: {{- if $client.client_base_url }} client_base_url: {{ $client.client_base_url }} {{- else }} - client_base_url: {{ include "app.baseUrl" $ }} + client_base_url: https://{{ include "app.baseDomain" $ }} {{- end }} {{- if $client.client_web_origins }} client_web_origins: @@ -30,7 +30,7 @@ spec: {{- end }} {{- else }} client_web_origins: - - {{ include "app.baseUrl" $ }} + - https://{{ include "app.baseDomain" $ }} {{- end }} {{- if $client.override_redirect_uris }} client_redirect_uris: @@ -39,8 +39,8 @@ spec: {{- end }} {{- else }} client_redirect_uris: - - {{ include "app.baseUrl" $ }} - - {{ include "app.baseUrl" $ }}/* + - https://{{ include "app.baseDomain" $ }} + - https://{{ include "app.baseDomain" $ }}/* {{- if $client.additional_redirect_uris }} {{- with $client.additional_redirect_uris }} {{ toYaml . | indent 4 }} diff --git a/src/main/helm/templates/keycloak-user-crd.yaml b/src/main/helm/templates/keycloak-user-crd.yaml index 3bc5c7ab019828a048b44aeaa1fcc3a210d5668b..2901efba99a56a551ce2fa0276e15e14440917b2 100644 --- a/src/main/helm/templates/keycloak-user-crd.yaml +++ b/src/main/helm/templates/keycloak-user-crd.yaml @@ -17,6 +17,7 @@ metadata: {{- end }} spec: keep_after_delete: {{ $.Values.sso.keep_after_delete | default false }} + update_user: {{ $user.update_user | default false }} keycloak_user: username: {{ $user.name | lower }} first_name: {{ $user.first_name | default "" }} diff --git a/src/main/helm/templates/tests/test-ingress-connection.yaml b/src/main/helm/templates/tests/test-ingress-connection.yaml index fad7cd0abb484fe0b8a05b5d4bd843ade88c67a7..d97aecdd4f4fee60a8e330cd98f2a077890c05a5 100644 --- a/src/main/helm/templates/tests/test-ingress-connection.yaml +++ b/src/main/helm/templates/tests/test-ingress-connection.yaml @@ -36,5 +36,5 @@ spec: image: busybox command: ['wget'] args: - - {{ include "app.baseUrl" . }} + - {{ include "app.baseDomain" . }} restartPolicy: Never diff --git a/src/test/helm/deployment_defaults_annotaion_test.yaml b/src/test/helm/deployment_defaults_annotaion_test.yaml index 3ccc5a5f7dbfba8f6eea2beeccdee5a650d661cb..e8185c86db2a54a1ad820863c7eb8ef98bab3324 100644 --- a/src/test/helm/deployment_defaults_annotaion_test.yaml +++ b/src/test/helm/deployment_defaults_annotaion_test.yaml @@ -36,6 +36,8 @@ set: tests: - it: check ingress annotaions for nginx + set: + baseUrl: "test.by.ozg-cloud.de" asserts: - isKind: of: Ingress diff --git a/src/test/helm/deployment_realm_name_length_test.yaml b/src/test/helm/deployment_realm_name_length_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8305d800d7d5c5ca3afca6acc2d5f6a6fe0f2bb1 --- /dev/null +++ b/src/test/helm/deployment_realm_name_length_test.yaml @@ -0,0 +1,42 @@ +# +# 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 ozgcloud bezeichner length +release: + name: alfa + namespace: sh-helm-test +templates: + - templates/deployment.yaml + +tests: + - it: should fail on bezeichner length longer than 46 characters + template: deployment.yaml + set: + ozgcloud: + bezeichner: test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890 + environment: test + bundesland: by + asserts: + - failedTemplate: + errorMessage: ozgcloud.bezeichner test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890 ist zu lang (max. 46 Zeichen) \ No newline at end of file diff --git a/src/test/helm/ingress-nginx-tests.yaml b/src/test/helm/ingress-nginx-tests.yaml index 6b0d88bfaae0f2a17d8fcb853f98fa305deffab7..a377b519ed5a9525826f71b63a6bbf5338f2a126 100644 --- a/src/test/helm/ingress-nginx-tests.yaml +++ b/src/test/helm/ingress-nginx-tests.yaml @@ -33,6 +33,8 @@ set: bundesland: by bezeichner: helm environment: test + baseUrl: test.by.ozg-cloud.de + tests: - it: should create ingress tls asserts: @@ -85,4 +87,16 @@ tests: asserts: - equal: path: spec.ingressClassName - value: nginx \ No newline at end of file + value: nginx + + - it: should create hostname correctly + asserts: + - equal: + path: spec.rules[0].host + value: helm.test.by.ozg-cloud.de + + - it: should create tls hosts name correctly + asserts: + - equal: + path: spec.tls[0].hosts[0] + value: helm.test.by.ozg-cloud.de \ No newline at end of file diff --git a/src/test/helm/keycloak-client-crd-test.yaml b/src/test/helm/keycloak-client-crd-test.yaml index 5b9300d1b6f2b7556411c203804194b4d5a78a52..dd1a33fce2b69b2b5a8140e8d8a68c141f987a9e 100644 --- a/src/test/helm/keycloak-client-crd-test.yaml +++ b/src/test/helm/keycloak-client-crd-test.yaml @@ -36,6 +36,7 @@ set: tests: - it: should contain header data set: + baseUrl: "test.by.ozg-cloud.de" sso: keycloak_clients: - client_name: alfa @@ -46,6 +47,7 @@ tests: of: OzgCloudKeycloakClient - it: should have metadata set: + baseUrl: "test.by.ozg-cloud.de" sso: keycloak_clients: - client_name: alfa @@ -58,6 +60,7 @@ tests: value: by-helm-test - it: should contain header data for kopOperator set: + baseUrl: "test.by.ozg-cloud.de" sso: keycloak_clients: - client_name: alfa @@ -69,6 +72,7 @@ tests: of: KopKeycloakClient - it: should have annotations for kopOperator set: + baseUrl: "test.by.ozg-cloud.de" sso: keycloak_clients: - client_name: alfa diff --git a/src/test/helm/keycloak-user-crd-test.yaml b/src/test/helm/keycloak-user-crd-test.yaml index 0685f872b3999b9e79ef7a532b9f558a7893d30a..31dd7d234885048a8ca2bcbd8b93cdec835f6a69 100644 --- a/src/test/helm/keycloak-user-crd-test.yaml +++ b/src/test/helm/keycloak-user-crd-test.yaml @@ -563,4 +563,25 @@ tests: - name: kop asserts: - hasDocuments: - count: 0 \ No newline at end of file + count: 0 + + - it: should set updateUser + set: + sso: + api_users: + - name: testapiuser + update_user: true + asserts: + - equal: + path: spec.update_user + value: true + + - it: should set default updateUser to false + set: + sso: + api_users: + - name: testapiuser + asserts: + - equal: + path: spec.update_user + value: false \ No newline at end of file