diff --git a/aggregation-manager-job/src/main/helm/templates/configmap_bindings_type.yaml b/aggregation-manager-job/src/main/helm/templates/configmap_bindings_type.yaml index 6996dd03cba5798e46c35419b74158ea5279be85..0656aa0e8d17ac77666e6fc9f35fdd67987f15bc 100644 --- a/aggregation-manager-job/src/main/helm/templates/configmap_bindings_type.yaml +++ b/aggregation-manager-job/src/main/helm/templates/configmap_bindings_type.yaml @@ -26,7 +26,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: aggregation-manager-bindings-type + name: aggregation-manager-job-bindings-type namespace: {{ include "app.namespace" . }} data: type: | diff --git a/aggregation-manager-job/src/main/helm/templates/cronjob.yaml b/aggregation-manager-job/src/main/helm/templates/cronjob.yaml index c320cf7a4a0ab8150e72dafdd1b490489c87954a..f241604c10a1e8d29284042a51dad9dac8980f5f 100644 --- a/aggregation-manager-job/src/main/helm/templates/cronjob.yaml +++ b/aggregation-manager-job/src/main/helm/templates/cronjob.yaml @@ -153,7 +153,7 @@ spec: {{- if ((.Values.database).tls).enabled }} - name: bindings configMap: - name: aggregation-manager-bindings-type + name: aggregation-manager-job-bindings-type - name: mongodb-root-ca secret: secretName: {{ ((.Values.database).tls).secretName }} diff --git a/aggregation-manager-job/src/test/helm/configmap_bindings_type_test.yaml b/aggregation-manager-job/src/test/helm/configmap_bindings_type_test.yaml index c17c3de91afbbbd6179d6f6b26ff5354961b5479..b02634db1d638c1c5a52370c48b638f2a51bf8bd 100644 --- a/aggregation-manager-job/src/test/helm/configmap_bindings_type_test.yaml +++ b/aggregation-manager-job/src/test/helm/configmap_bindings_type_test.yaml @@ -45,7 +45,7 @@ tests: of: v1 - equal: path: metadata.name - value: aggregation-manager-bindings-type + value: aggregation-manager-job-bindings-type - equal: path: metadata.namespace value: sh-helm-test diff --git a/aggregation-manager-job/src/test/helm/cronjob_volume_test.yaml b/aggregation-manager-job/src/test/helm/cronjob_volume_test.yaml index 5b46bd01cb076c3f64954e8d96e831585649a965..ba68ac06939502e39060c8896ed71770b9ac233d 100644 --- a/aggregation-manager-job/src/test/helm/cronjob_volume_test.yaml +++ b/aggregation-manager-job/src/test/helm/cronjob_volume_test.yaml @@ -80,7 +80,7 @@ tests: value: "bindings" - equal: path: spec.jobTemplate.spec.template.spec.volumes[0].configMap.name - value: "aggregation-manager-bindings-type" + value: "aggregation-manager-job-bindings-type" - equal: path: spec.jobTemplate.spec.template.spec.volumes[1].name value: "mongodb-root-ca" diff --git a/aggregation-manager-server/src/main/helm/templates/_helpers.tpl b/aggregation-manager-server/src/main/helm/templates/_helpers.tpl index 3c88338c3efd95048b4fed3484b9800d8748a9db..282313ebc33dd0695c821d2991c9001edba0f929 100644 --- a/aggregation-manager-server/src/main/helm/templates/_helpers.tpl +++ b/aggregation-manager-server/src/main/helm/templates/_helpers.tpl @@ -78,14 +78,6 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{- required "Environment muss angegeben sein" (.Values.ozgcloud).environment -}} {{- end -}} -{{- define "app.grpcClientVorgangManagerAddress" -}} -{{- if (.Values.env).grpcClientVorgangManagerAddress -}} -{{ printf "%s" (.Values.env).grpcClientVorgangManagerAddress }} -{{- else -}} -{{ printf "dns:///%s.%s:9090" ( coalesce .Values.vorgangManagerName "vorgang-manager" ) (include "app.namespace" . ) }} -{{- end -}} -{{- end -}} - {{- define "app.getCustomList" -}} {{- with (.Values.env).customList -}} {{- if kindIs "map" . -}} diff --git a/aggregation-manager-server/src/main/helm/templates/configmap_bindings_type.yaml b/aggregation-manager-server/src/main/helm/templates/configmap_bindings_type.yaml index 8e6a781929913612cd61a0117715d5c2d8753fbd..63711189ff34aed1493c5506e1b5023b279becbe 100644 --- a/aggregation-manager-server/src/main/helm/templates/configmap_bindings_type.yaml +++ b/aggregation-manager-server/src/main/helm/templates/configmap_bindings_type.yaml @@ -22,11 +22,13 @@ # unter der Lizenz sind dem Lizenztext zu entnehmen. # +{{- if ((.Values.database).tls).enabled }} apiVersion: v1 kind: ConfigMap metadata: - name: bindings-type + name: aggregation-manager-server-bindings-type namespace: {{ include "app.namespace" . }} data: type: | - ca-certificates \ No newline at end of file + ca-certificates +{{- end }} \ No newline at end of file diff --git a/aggregation-manager-server/src/main/helm/templates/deployment.yaml b/aggregation-manager-server/src/main/helm/templates/deployment.yaml index ad0907f050b17e10055df43a2922fed527579d5b..1fac9cbcc4c4d51d0e1ef96085c1ba91158dcc24 100644 --- a/aggregation-manager-server/src/main/helm/templates/deployment.yaml +++ b/aggregation-manager-server/src/main/helm/templates/deployment.yaml @@ -54,6 +54,9 @@ spec: labelSelector: matchLabels: app.kubernetes.io/name: {{ .Release.Name }} + {{- if (.Values.serviceAccount).create }} + serviceAccountName: {{ .Values.serviceAccount.name }} + {{- end }} containers: - name: aggregation-manager-server image: "{{ .Values.image.repo }}/{{ .Values.image.name }}:{{ coalesce (.Values.image).tag "latest" }}" @@ -63,6 +66,11 @@ spec: value: "/bindings" - name: spring_profiles_active value: {{ include "app.envSpringProfiles" . }} + - name: ozgcloud_administration_address + value: {{ include "app.getOzgcloudAdministrationAddress" . }} + {{- with include "app.getCustomList" . }} +{{ . | indent 8 }} + {{- end }} ports: - containerPort: 8081 name: metrics @@ -100,16 +108,30 @@ spec: terminationMessagePolicy: File tty: true volumeMounts: - - name: bindings - mountPath: "/bindings/ca-certificates/type" - subPath: type - readOnly: true - volumes: + {{- if ((.Values.database).tls).enabled }} - name: bindings - configMap: - name: bindings-type + mountPath: "/bindings/ca-certificates/type" + subPath: type + readOnly: true + - name: mongodb-root-ca + mountPath: "/bindings/ca-certificates/mongodb-root-ca.pem" + subPath: ca.crt + readOnly: true + {{- end }} + volumes: + {{- if ((.Values.database).tls).enabled }} + - name: bindings + configMap: + name: aggregation-manager-server-bindings-type + - name: mongodb-root-ca + secret: + secretName: {{ ((.Values.database).tls).secretName }} + optional: true + {{- end }} dnsConfig: { } dnsPolicy: ClusterFirst + imagePullSecrets: + - name: {{ required "imagePullSecret must be set" .Values.imagePullSecret }} restartPolicy: Always schedulerName: default-scheduler securityContext: { } diff --git a/aggregation-manager-server/src/main/helm/values.yaml b/aggregation-manager-server/src/main/helm/values.yaml index 4bdf812cfa4ba86de984d7ab832bb40f09b730db..f00bd23b53fa51a45533aba042fcae8ed877c9be 100644 --- a/aggregation-manager-server/src/main/helm/values.yaml +++ b/aggregation-manager-server/src/main/helm/values.yaml @@ -42,6 +42,6 @@ serviceAccount: create: true name: aggregation-manager-server-service-account -imagePullSecret: "" - replicaCount: 1 + +administrationName: administration diff --git a/aggregation-manager-server/src/test/helm-linter-values.yaml b/aggregation-manager-server/src/test/helm-linter-values.yaml index ca9203d3b2911e7aa350f85a5b62f1264d4bf26e..be6b1860d5c6417dac89f2d16ba8ccd15d0a3257 100644 --- a/aggregation-manager-server/src/test/helm-linter-values.yaml +++ b/aggregation-manager-server/src/test/helm-linter-values.yaml @@ -27,3 +27,5 @@ ozgcloud: networkPolicy: dnsServerNamespace: dummy-dns + +imagePullSecret: image-pull-secret diff --git a/aggregation-manager-server/src/test/helm/configmap_bindings_type_test.yaml b/aggregation-manager-server/src/test/helm/configmap_bindings_type_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..78c9c13265a35a814898e2d2389c5072680fc34b --- /dev/null +++ b/aggregation-manager-server/src/test/helm/configmap_bindings_type_test.yaml @@ -0,0 +1,54 @@ +# +# Copyright (C) 2025 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: configmap_bindings_type +release: + name: aggregation-manager-server + namespace: sh-helm-test +templates: + - templates/configmap_bindings_type.yaml +tests: + - it: configMap should not exists + asserts: + - hasDocuments: + count: 0 + - it: should have configmap if database tls is enabled + set: + database: + tls: + enabled: true + asserts: + - isKind: + of: ConfigMap + - isAPIVersion: + of: v1 + - equal: + path: metadata.name + value: aggregation-manager-server-bindings-type + - equal: + path: metadata.namespace + value: sh-helm-test + - equal: + path: data.type + value: "ca-certificates" diff --git a/aggregation-manager-server/src/test/helm/deployment_env_administration_test.yaml b/aggregation-manager-server/src/test/helm/deployment_env_administration_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..347382800f52d97ea5c10ba4833b8f717c4a2afd --- /dev/null +++ b/aggregation-manager-server/src/test/helm/deployment_env_administration_test.yaml @@ -0,0 +1,60 @@ +# +# Copyright (C) 2025 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 deployment container environments +templates: + - templates/deployment.yaml +release: + namespace: sh-helm-test +set: + imagePullSecret: image-pull-secret +tests: + - it: should have ozgcloud_administration_address + set: + ozgcloud: + environment: dev + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: ozgcloud_administration_address + value: http://administration.sh-helm-test:8080 + + - it: should set ozgcloud_administration_address + set: + administrationAddress: http://test-administration:8080 + ozgcloud: + environment: dev + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: ozgcloud_administration_address + value: http://test-administration:8080 + + - it: should fail template when env not set + set: + asserts: + - failedTemplate: + errormessage: Environment muss angegeben sein diff --git a/aggregation-manager-server/src/test/helm/deployment_env_customList_test.yaml b/aggregation-manager-server/src/test/helm/deployment_env_customList_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c12bb7be1d3e56b3f5800b9a17e46b43d13167db --- /dev/null +++ b/aggregation-manager-server/src/test/helm/deployment_env_customList_test.yaml @@ -0,0 +1,72 @@ +# +# Copyright (C) 2025 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 environments customList +templates: + - templates/deployment.yaml +set: + ozgcloud.environment: test + imagePullSecret: image-pull-secret +tests: + - it: check customList as list + set: + env.customList: + - name: my_test_environment_name + value: "A test value" + - name: test_environment + value: "B test value" + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: my_test_environment_name + value: "A test value" + - contains: + path: spec.template.spec.containers[0].env + content: + name: test_environment + value: "B test value" + - it: check customList as dict + set: + env.customList: + my_test_environment_name: "A test value" + test_environment: "B test value" + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: my_test_environment_name + value: "A test value" + - contains: + path: spec.template.spec.containers[0].env + content: + name: test_environment + value: "B test value" + - it: check customList test value is not set by default + asserts: + - notContains: + path: spec.template.spec.containers[0].env + content: + name: my_test_environment_name + value: "A test value" diff --git a/aggregation-manager-server/src/test/helm/deployment_image_pull_secret_test.yaml b/aggregation-manager-server/src/test/helm/deployment_image_pull_secret_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f4e580823991d87cb8b6e3b0a0c81b2fae1c1c5a --- /dev/null +++ b/aggregation-manager-server/src/test/helm/deployment_image_pull_secret_test.yaml @@ -0,0 +1,44 @@ +# +# Copyright (C) 2025 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 deployment imagepullsecret +release: + name: eingang-adapter + namespace: sh-helm-test +templates: + - templates/deployment.yaml +set: + ozgcloud.environment: test +tests: + - it: should set the imagePull secret + set: + imagePullSecret: image-pull-secret + asserts: + - equal: + path: spec.template.spec.imagePullSecrets[0].name + value: image-pull-secret + - it: should fail tempalte when not set + asserts: + - failedTemplate: + errorMessage: imagePullSecret must be set diff --git a/aggregation-manager-server/src/test/helm/deployment_service_account_test.yaml b/aggregation-manager-server/src/test/helm/deployment_service_account_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..eb1f736d744b9baac4940d39dee42b7427f0e8f2 --- /dev/null +++ b/aggregation-manager-server/src/test/helm/deployment_service_account_test.yaml @@ -0,0 +1,55 @@ +# +# Copyright (C) 2025 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: deployment service account +release: + name: aggregation-manager-server + namespace: by-helm-test +templates: + - templates/deployment.yaml +set: + ozgcloud: + environment: dev + imagePullSecret: image-pull-secret +tests: + - it: should use aggregation-manager-server service account + asserts: + - equal: + path: spec.template.spec.serviceAccountName + value: aggregation-manager-server-service-account + - it: should set service account name + set: + serviceAccount: + name: helm-service-account + asserts: + - equal: + path: spec.template.spec.serviceAccountName + value: helm-service-account + - it: should use default service account + set: + serviceAccount: + create: false + asserts: + - isNull: + path: spec.template.spec.serviceAccountName diff --git a/aggregation-manager-server/src/test/helm/deployment_spring_profile_test.yaml b/aggregation-manager-server/src/test/helm/deployment_spring_profile_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c7eea6926b708158ca05fefe3f6cb3e8c567c157 --- /dev/null +++ b/aggregation-manager-server/src/test/helm/deployment_spring_profile_test.yaml @@ -0,0 +1,50 @@ +# +# Copyright (C) 2025 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: deployment springProfile tests +release: + namespace: sh-helm-test +templates: + - templates/deployment.yaml +set: + ozgcloud: + environment: dev + imagePullSecret: image-pull-secret +tests: + - it: should override the spring profiles + set: + env.overrideSpringProfiles: oc,dev,ea + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: spring_profiles_active + value: oc,dev,ea + - it: should generate the spring profiles + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: spring_profiles_active + value: oc, dev diff --git a/aggregation-manager-server/src/test/helm/deployment_test.yaml b/aggregation-manager-server/src/test/helm/deployment_test.yaml index 1b80f20ca351ed09935f9fae9db44954f6be2764..37a00d0a32c5b8ab4620068ae0d6248b275b040a 100644 --- a/aggregation-manager-server/src/test/helm/deployment_test.yaml +++ b/aggregation-manager-server/src/test/helm/deployment_test.yaml @@ -233,28 +233,6 @@ tests: - equal: path: spec.template.spec.containers[0].securityContext.runAsNonRoot value: false - - it: validate container volume mounts - asserts: - - equal: - path: spec.template.spec.containers[0].volumeMounts[0].name - value: bindings - - equal: - path: spec.template.spec.containers[0].volumeMounts[0].mountPath - value: "/bindings/ca-certificates/type" - - equal: - path: spec.template.spec.containers[0].volumeMounts[0].subPath - value: type - - equal: - path: spec.template.spec.containers[0].volumeMounts[0].readOnly - value: true - - it: validate volumes - asserts: - - equal: - path: spec.template.spec.volumes[0].name - value: bindings - - equal: - path: spec.template.spec.volumes[0].configMap.name - value: bindings-type - it: validate container root config asserts: - equal: diff --git a/aggregation-manager-server/src/test/helm/deployment_volume_test.yaml b/aggregation-manager-server/src/test/helm/deployment_volume_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7f2efa110938e630db731358bf306172a4081a44 --- /dev/null +++ b/aggregation-manager-server/src/test/helm/deployment_volume_test.yaml @@ -0,0 +1,93 @@ +# +# Copyright (C) 2025 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: deployment volumes tests +release: + name: aggregation-manager-server +templates: + - templates/deployment.yaml +set: + ozgcloud: + environment: "default" + imagePullSecret: image-pull-secret +tests: + - it: should not have volumeMounts + asserts: + - isEmpty: + path: spec.template.spec.containers[0].volumeMounts + - it: should not have volumes + asserts: + - isEmpty: + path: spec.template.spec.volumes + - it: should have volumeMounts if database tls is enabled + set: + database: + tls: + enabled: true + asserts: + - equal: + path: spec.template.spec.containers[0].volumeMounts[0].name + value: "bindings" + - equal: + path: spec.template.spec.containers[0].volumeMounts[0].mountPath + value: "/bindings/ca-certificates/type" + - equal: + path: spec.template.spec.containers[0].volumeMounts[0].subPath + value: "type" + - equal: + path: spec.template.spec.containers[0].volumeMounts[0].readOnly + value: true + - equal: + path: spec.template.spec.containers[0].volumeMounts[1].name + value: "mongodb-root-ca" + - equal: + path: spec.template.spec.containers[0].volumeMounts[1].mountPath + value: "/bindings/ca-certificates/mongodb-root-ca.pem" + - equal: + path: spec.template.spec.containers[0].volumeMounts[1].subPath + value: "ca.crt" + - equal: + path: spec.template.spec.containers[0].volumeMounts[1].readOnly + value: true + - it: should have volumes on it's spec if database tls is enabled + set: + database: + tls: + enabled: true + asserts: + - equal: + path: spec.template.spec.volumes[0].name + value: "bindings" + - equal: + path: spec.template.spec.volumes[0].configMap.name + value: "aggregation-manager-server-bindings-type" + - equal: + path: spec.template.spec.volumes[1].name + value: "mongodb-root-ca" + - equal: + path: spec.template.spec.volumes[1].secret.secretName + value: "ozg-mongodb-tls-cert" + - equal: + path: spec.template.spec.volumes[1].secret.optional + value: true