diff --git a/alfa-client/apps/info/src/main/helm/templates/_helpers.tpl b/alfa-client/apps/info/src/main/helm/templates/_helpers.tpl index c18ade6ab9a8a331e10f4fdd1ea422bba776a564..003e0891e401969f4e35aa0e2a801ac6cc87c63b 100644 --- a/alfa-client/apps/info/src/main/helm/templates/_helpers.tpl +++ b/alfa-client/apps/info/src/main/helm/templates/_helpers.tpl @@ -72,4 +72,28 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{- define "app.getImageName" -}} {{- required "image.name muss angegeben sein" .Values.image.name }} +{{- end -}} + +{{- define "app.getBarrierefreiheitUrl" -}} +{{- if .Values.keycloakTheme.barrierefreiheitUrl -}} +{{ .Values.keycloakTheme.barrierefreiheitUrl }} +{{- else -}} +{{ printf "https://%s/barrierefreiheit" .Values.baseDomain }} +{{- end -}} +{{- end -}} + +{{- define "app.getDatenschutzUrl" -}} +{{- if .Values.keycloakTheme.datenschutzUrl -}} +{{ .Values.keycloakTheme.datenschutzUrl }} +{{- else -}} +{{ printf "https://%s/datenschutz" .Values.baseDomain }} +{{- end -}} +{{- end -}} + +{{- define "app.getImpressumUrl" -}} +{{- if .Values.keycloakTheme.impressumUrl -}} +{{ .Values.keycloakTheme.impressumUrl }} +{{- else -}} +{{ printf "https://%s/impressum" .Values.baseDomain }} +{{- end -}} {{- end -}} \ No newline at end of file diff --git a/alfa-client/apps/info/src/main/helm/templates/configmap_keycloak_theme_url.yaml b/alfa-client/apps/info/src/main/helm/templates/configmap_keycloak_theme_url.yaml new file mode 100644 index 0000000000000000000000000000000000000000..df1952cbd765b876f81658c41c6679bff244d538 --- /dev/null +++ b/alfa-client/apps/info/src/main/helm/templates/configmap_keycloak_theme_url.yaml @@ -0,0 +1,11 @@ +{{- if not .Values.keycloakTheme.disableUrlConfigMap -}} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ required "keycloakTheme.urlConfigMapName muss angegeben sein" .Values.keycloakTheme.urlConfigMapName }} + namespace: {{ required "keycloakTheme.urlConfigMapNamespace muss angegeben sein" .Values.keycloakTheme.urlConfigMapNamespace }} +data: + staticUrlBarrierefreiheit: {{ include "app.getBarrierefreiheitUrl" . }} + staticUrlDatenschutz: {{ include "app.getDatenschutzUrl" . }} + staticUrlImpressum: {{ include "app.getImpressumUrl" . }} +{{- end -}} \ No newline at end of file diff --git a/alfa-client/apps/info/src/main/helm/values.yaml b/alfa-client/apps/info/src/main/helm/values.yaml index f62c7b061da7a5739e214890f76636992f8225c6..c98cb41cceafa3f48b7a28c26a57dd833da67ce8 100644 --- a/alfa-client/apps/info/src/main/helm/values.yaml +++ b/alfa-client/apps/info/src/main/helm/values.yaml @@ -19,4 +19,15 @@ disableMonitoring: serviceAccount: create: - name: info-client-service-account \ No newline at end of file + name: info-client-service-account + +keycloakTheme: + disableUrlConfigMap: false + urlConfigMapName: + urlConfigMapNamespace: + # default: https://<baseDomain>/barrierefreiheit + # barrierefreiheitUrl: + # default: https://<baseDomain>/datenschutz + # datenschutzUrl: + # default: https://<baseDomain>/impressum + # impressumUrl: \ No newline at end of file diff --git a/alfa-client/apps/info/src/test/helm-linter-values.yaml b/alfa-client/apps/info/src/test/helm-linter-values.yaml index a4b081509be5d987f15d48438fe1e0e101c627af..f10e9c6c0c9907799ce8cce72e40535a87b9fef3 100644 --- a/alfa-client/apps/info/src/test/helm-linter-values.yaml +++ b/alfa-client/apps/info/src/test/helm-linter-values.yaml @@ -1,4 +1,8 @@ image: name: info-client-test -baseDomain: static.dev.by.ozg-cloud.de \ No newline at end of file +baseDomain: static.dev.by.ozg-cloud.de + +keycloakTheme: + urlConfigMapName: keycloak-theme-test + urlConfigMapNamespace: keycloak-namespace \ No newline at end of file diff --git a/alfa-client/apps/info/src/test/helm/configmap_keycloak_theme_url_test.yaml b/alfa-client/apps/info/src/test/helm/configmap_keycloak_theme_url_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e3364a1e238ea77fe046c7aff2053f294a338dcd --- /dev/null +++ b/alfa-client/apps/info/src/test/helm/configmap_keycloak_theme_url_test.yaml @@ -0,0 +1,91 @@ +suite: test ConfigMap Keycloak Theme Url +release: + name: info-client + namespace: by-helm-test +templates: + - templates/configmap_keycloak_theme_url.yaml +set: + baseDomain: test.ozgcloud.de +tests: + - it: validate configMap values + set: + keycloakTheme: + urlConfigMapName: keycloak-theme-test + urlConfigMapNamespace: keycloak-namespace + asserts: + - isKind: + of: ConfigMap + - isAPIVersion: + of: v1 + - equal: + path: metadata.name + value: keycloak-theme-test + - equal: + path: metadata.namespace + value: keycloak-namespace + - it: disable configMap + set: + keycloakTheme: + disableUrlConfigMap: true + asserts: + - hasDocuments: + count: 0 + - it: should fail if keycloakTheme.urlConfigMapName is not set + set: + keycloakTheme: + urlConfigMapNamespace: keycloak-namespace + asserts: + - failedTemplate: + errorMessage: "keycloakTheme.urlConfigMapName muss angegeben sein" + - it: should fail if keycloakTheme.urlConfigMapNamespace is not set + set: + keycloakTheme: + urlConfigMapName: keycloak-theme-test + asserts: + - failedTemplate: + errorMessage: "keycloakTheme.urlConfigMapNamespace muss angegeben sein" + - it: validate default URLs + set: + keycloakTheme: + urlConfigMapName: keycloak-theme-test + urlConfigMapNamespace: keycloak-namespace + asserts: + - equal: + path: data.staticUrlBarrierefreiheit + value: https://test.ozgcloud.de/barrierefreiheit + - equal: + path: data.staticUrlDatenschutz + value: https://test.ozgcloud.de/datenschutz + - equal: + path: data.staticUrlImpressum + value: https://test.ozgcloud.de/impressum + - it: set barrierefreiheit url + set: + keycloakTheme: + urlConfigMapName: keycloak-theme-test + urlConfigMapNamespace: keycloak-namespace + barrierefreiheitUrl: "https://ozgcloud.de/barrierefreiheit" + asserts: + - equal: + path: data.staticUrlBarrierefreiheit + value: "https://ozgcloud.de/barrierefreiheit" + - it: set datenschutz url + set: + keycloakTheme: + urlConfigMapName: keycloak-theme-test + urlConfigMapNamespace: keycloak-namespace + datenschutzUrl: https://ozgcloud.de/datenschutz + asserts: + - equal: + path: data.staticUrlDatenschutz + value: https://ozgcloud.de/datenschutz + - it: set impressum url + set: + keycloakTheme: + urlConfigMapName: keycloak-theme-test + urlConfigMapNamespace: keycloak-namespace + impressumUrl: https://ozgcloud.de/impressum + asserts: + - equal: + path: data.staticUrlImpressum + value: https://ozgcloud.de/impressum \ No newline at end of file