diff --git a/aggregation-manager-server/src/main/helm/templates/deployment.yaml b/aggregation-manager-server/src/main/helm/templates/deployment.yaml index 1fac9cbcc4c4d51d0e1ef96085c1ba91158dcc24..e3916f77dff7c807d6414a05f9be08611bc55ad5 100644 --- a/aggregation-manager-server/src/main/helm/templates/deployment.yaml +++ b/aggregation-manager-server/src/main/helm/templates/deployment.yaml @@ -68,9 +68,24 @@ spec: value: {{ include "app.envSpringProfiles" . }} - name: ozgcloud_administration_address value: {{ include "app.getOzgcloudAdministrationAddress" . }} + {{- if not (.Values.database).useExternal }} + - name: spring_data_mongodb_uri + valueFrom: + secretKeyRef: + name: {{ (.Values.database).secretName }} + key: connectionString.standardSrv + optional: false + - name: spring_data_mongodb_database + value: {{ (.Values.database).databaseName }} + {{- end }} {{- with include "app.getCustomList" . }} {{ . | indent 8 }} {{- end }} + envFrom: + {{- if (.Values.database).useExternal }} + - secretRef: + name: {{ (.Values.database).secretName }} + {{- end }} ports: - containerPort: 8081 name: metrics diff --git a/aggregation-manager-server/src/main/helm/templates/network_policy.yaml b/aggregation-manager-server/src/main/helm/templates/network_policy.yaml index 74138a34bca3f686944dd08abe10287689f7625e..b35a35c4232ec4a65ee0748da38b0458faef4b4e 100644 --- a/aggregation-manager-server/src/main/helm/templates/network_policy.yaml +++ b/aggregation-manager-server/src/main/helm/templates/network_policy.yaml @@ -50,6 +50,13 @@ spec: {{ toYaml . | indent 2 }} {{- end }} egress: + - to: + - podSelector: + matchLabels: + component: ozgcloud-mongodb + ports: + - port: 27017 + protocol: TCP - to: - namespaceSelector: matchLabels: diff --git a/aggregation-manager-server/src/test/helm/deployment_database_test.yaml b/aggregation-manager-server/src/test/helm/deployment_database_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cb3b4c83a32465b3ad01cd0259f6806a63e2c963 --- /dev/null +++ b/aggregation-manager-server/src/test/helm/deployment_database_test.yaml @@ -0,0 +1,62 @@ +# +# 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 database settings +release: + name: aggregation-manager-server + namespace: sh-helm-test +templates: + - templates/deployment.yaml +set: + ozgcloud: + environment: dev + imagePullSecret: image-pull-secret +tests: + - it: should configure internal mongodb if not useExternal + set: + database.useExternal: false + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: spring_data_mongodb_uri + valueFrom: + secretKeyRef: + name: ozg-mongodb-admin-aggregation-manager-user + key: connectionString.standardSrv + optional: false + - contains: + path: spec.template.spec.containers[0].env + content: + name: spring_data_mongodb_database + value: aggregation-manager-server-database + - it: should configure external mongodb if useExternal + set: + database.useExternal: true + asserts: + - contains: + path: spec.template.spec.containers[0].envFrom + content: + secretRef: + name: ozg-mongodb-admin-aggregation-manager-user diff --git a/aggregation-manager-server/src/test/helm/network_policy_test.yaml b/aggregation-manager-server/src/test/helm/network_policy_test.yaml index 54308f5b7b065dc7cd9d7f2748ca2ab028d50f9a..d937238e7d91ec4172e50eca76bf7368e6da942e 100644 --- a/aggregation-manager-server/src/test/helm/network_policy_test.yaml +++ b/aggregation-manager-server/src/test/helm/network_policy_test.yaml @@ -63,6 +63,13 @@ tests: path: spec value: egress: + - ports: + - port: 27017 + protocol: TCP + to: + - podSelector: + matchLabels: + component: ozgcloud-mongodb - ports: - port: 53 protocol: UDP