From fa20c5fa7dbcf0fd9fc2be0db6dc6600640ac900 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Wed, 28 Aug 2024 17:16:36 +0200 Subject: [PATCH] OZG-6499 OZG-6568 Consume Administration Cloud config properties --- alfa-server/pom.xml | 9 ++++--- .../src/main/resources/application.yml | 4 ++- alfa-service/pom.xml | 4 +++ .../alfa/postfach/PostfachProperties.java | 24 +++++++++++++++++ pom.xml | 6 +++++ src/main/helm/templates/deployment.yaml | 2 ++ .../deployment_config_client_env_test.yaml | 26 +++++++++++++++++++ 7 files changed, 70 insertions(+), 5 deletions(-) create mode 100644 alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachProperties.java create mode 100644 src/test/helm/deployment_config_client_env_test.yaml diff --git a/alfa-server/pom.xml b/alfa-server/pom.xml index 352336b4ac..8310c3d287 100644 --- a/alfa-server/pom.xml +++ b/alfa-server/pom.xml @@ -24,18 +24,19 @@ <artifactId>alfa-service</artifactId> <version>${project.version}</version> </dependency> - <dependency> <groupId>de.ozgcloud.alfa</groupId> <artifactId>alfa-xdomea</artifactId> <version>${project.version}</version> </dependency> - <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> - + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-config</artifactId> + </dependency> <!-- aspectJ --> <dependency> <groupId>org.aspectj</groupId> @@ -130,4 +131,4 @@ </plugins> </build> -</project> +</project> \ No newline at end of file diff --git a/alfa-server/src/main/resources/application.yml b/alfa-server/src/main/resources/application.yml index 0f0c8e24b2..7797843ae4 100644 --- a/alfa-server/src/main/resources/application.yml +++ b/alfa-server/src/main/resources/application.yml @@ -23,6 +23,8 @@ spring: jwt: issuer-uri: ${ozgcloud.oauth2.issuer-uri} jwk-set-uri: ${spring.security.oauth2.resourceserver.jwt.issuer-uri}/protocol/openid-connect/certs + config: + import: optional:${ozgcloud_administration_address:http://localhost:8888/configserver/} server: http2: @@ -51,7 +53,7 @@ management: endpoints: web: exposure: - include: health,prometheus + include: health,prometheus,refresh grpc: client: diff --git a/alfa-service/pom.xml b/alfa-service/pom.xml index 24d69e9a5b..86daeeea05 100644 --- a/alfa-service/pom.xml +++ b/alfa-service/pom.xml @@ -84,6 +84,10 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-resource-server</artifactId> </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-config</artifactId> + </dependency> <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachProperties.java b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachProperties.java new file mode 100644 index 0000000000..1d1a549b5c --- /dev/null +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/postfach/PostfachProperties.java @@ -0,0 +1,24 @@ +package de.ozgcloud.alfa.postfach; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +import lombok.Getter; +import lombok.Setter; + +@Configuration +@ConfigurationProperties(prefix = PostfachProperties.PREFIX) +@RefreshScope +@Getter +@Setter +class PostfachProperties { + + static final String PREFIX = "ozgcloud.postfach"; + + /** + * Signature appended to messages. Configured by administration config s00erver. + */ + private String signatur = ""; + +} diff --git a/pom.xml b/pom.xml index 1989d2bfc0..5c3018e62b 100644 --- a/pom.xml +++ b/pom.xml @@ -57,6 +57,7 @@ <ozgcloud-common-pdf.version>3.0.1</ozgcloud-common-pdf.version> <user-manager.version>2.2.0</user-manager.version> <zufi-manager.version>1.2.0</zufi-manager.version> + <spring-cloud-config-client.version>4.1.3</spring-cloud-config-client.version> <!-- TODO: die Version über ozgcloud-common ziehen --> <jjwt.version>0.11.5</jjwt.version> @@ -158,6 +159,11 @@ <version>${jjwt.version}</version> <scope>runtime</scope> </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-config</artifactId> + <version>${spring-cloud-config-client.version}</version> + </dependency> </dependencies> </dependencyManagement> diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml index edfb381cc4..9449ab7096 100644 --- a/src/main/helm/templates/deployment.yaml +++ b/src/main/helm/templates/deployment.yaml @@ -109,6 +109,8 @@ spec: value: {{ ((.Values.ozgcloud).xdomea).behoerdenschluesselUri}} - name: ozgcloud_xdomea_behoerdenschluesselVersion value: {{ ((.Values.ozgcloud).xdomea).behoerdenschluesselVersion | quote }} + - name: ozgcloud_administration_address + value: {{ (.Values.administration).address }} - name: grpc_client_zufi-manager_address value: {{ .Values.zufiManager.address }} - name: grpc_client_zufi-manager_negotiationType diff --git a/src/test/helm/deployment_config_client_env_test.yaml b/src/test/helm/deployment_config_client_env_test.yaml new file mode 100644 index 0000000000..d5d5b4511c --- /dev/null +++ b/src/test/helm/deployment_config_client_env_test.yaml @@ -0,0 +1,26 @@ +suite: deployment collaboration env +release: + name: alfa + namespace: sh-helm-test +templates: + - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local + imagePullSecret: image-pull-secret +tests: + - it: should have set administration server address + set: + administration: + address: url://url.url + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: ozgcloud_administration_address + value: url://url.url -- GitLab