From cc9248d2d26447a4f83840a52cee8851996b6093 Mon Sep 17 00:00:00 2001 From: Krzysztof <krzysztof.witukiewicz@mgm-tp.com> Date: Wed, 9 Apr 2025 17:53:20 +0200 Subject: [PATCH] OZG-7909 OZG-8068 Configure connection to mongodb --- .../src/main/helm/templates/deployment.yaml | 15 +++++ .../main/helm/templates/network_policy.yaml | 7 +++ .../test/helm/deployment_database_test.yaml | 62 +++++++++++++++++++ .../src/test/helm/network_policy_test.yaml | 7 +++ 4 files changed, 91 insertions(+) create mode 100644 aggregation-manager-server/src/test/helm/deployment_database_test.yaml diff --git a/aggregation-manager-server/src/main/helm/templates/deployment.yaml b/aggregation-manager-server/src/main/helm/templates/deployment.yaml index 1fac9cb..e3916f7 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 74138a3..b35a35c 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 0000000..cb3b4c8 --- /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 54308f5..d937238 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 -- GitLab