aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Golabek <tomasz.golabek@nokia.com>2020-02-21 15:49:34 +0100
committerTomasz Golabek <tomasz.golabek@nokia.com>2020-02-24 10:27:19 +0100
commit7244c908edd4aa392e65d820c90845323918b47b (patch)
tree3e3d04065d74f0f139c5e1290b35d511d8bbaa75
parent0474f5347007cf6c04cb01f84b83fc2edd6fbc59 (diff)
Added actuator for refreshing configuration
Cloud-config dependency is provided Event listener introduced to handle refresh call Refresh endpoint exposed Fixed docker-compose to start locally and use build images Update repositories for docker image and install vim on it Issue-ID: AAF-997 Signed-off-by: Tomasz Golabek <tomasz.golabek@nokia.com> Change-Id: Iee005518c901dad7730c5f48c410ec89850f1425
-rw-r--r--certService/Dockerfile2
-rw-r--r--certService/docker-compose.yml4
-rw-r--r--certService/pom.xml6
-rw-r--r--certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfig.java25
-rw-r--r--certService/src/main/resources/application.properties7
-rw-r--r--pom.xml1
6 files changed, 39 insertions, 6 deletions
diff --git a/certService/Dockerfile b/certService/Dockerfile
index 4bb1bf6e..5060c6bf 100644
--- a/certService/Dockerfile
+++ b/certService/Dockerfile
@@ -4,6 +4,8 @@ ARG VERSION=${version}
RUN groupadd certService && useradd -g certService certService
+RUN apt-get update && apt-get install -y vim
+
RUN chown -R certService:certService /var/log
USER certService:certService
diff --git a/certService/docker-compose.yml b/certService/docker-compose.yml
index 04d4867f..f418fc1b 100644
--- a/certService/docker-compose.yml
+++ b/certService/docker-compose.yml
@@ -21,7 +21,9 @@ services:
retries: 9
certservice:
- image: nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-api:1.0.0
+ image: onap/org.onap.aaf.certservice.aaf-certservice-api:latest
+ volumes:
+ - ./helm/aaf-cert-service/resources/cmpServers.json:/etc/onap/aaf/certservice/cmpServers.json
container_name: certservice
ports:
- "8080:8080"
diff --git a/certService/pom.xml b/certService/pom.xml
index 5fbd5b1c..c61501b4 100644
--- a/certService/pom.xml
+++ b/certService/pom.xml
@@ -75,7 +75,11 @@
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>org.springframework.cloud</groupId>
+ <artifactId>spring-cloud-starter-config</artifactId>
+ <version>${spring-cloud-starter-config.version}</version>
+ </dependency>
</dependencies>
<build>
diff --git a/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfig.java b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfig.java
index 414f38bb..20e8934e 100644
--- a/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfig.java
+++ b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfig.java
@@ -21,31 +21,52 @@
package org.onap.aaf.certservice.certification.configuration;
import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.cloud.context.scope.refresh.RefreshScopeRefreshedEvent;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
import java.io.File;
import java.util.Collections;
import java.util.List;
+import org.springframework.context.event.EventListener;
+@RefreshScope
@Configuration
public class CmpServersConfig {
+
private static final String CMP_SERVERS_CONFIG_FILENAME = "cmpServers.json";
- @Autowired
- private CmpServersConfigLoader cmpServersConfigLoader;
+ private static final Logger LOGGER = LoggerFactory.getLogger(CmpServersConfig.class);
+ private static final String REFRESHING_CONFIGURATION = "Refreshing configuration";
+
@Value("${app.config.path}")
private String configPath;
+
+ private CmpServersConfigLoader cmpServersConfigLoader;
private List<Cmpv2Server> cmpServers;
+ @Autowired
+ public CmpServersConfig(CmpServersConfigLoader cmpServersConfigLoader) {
+ this.cmpServersConfigLoader = cmpServersConfigLoader;
+ }
+
@PostConstruct
void loadConfiguration() {
String configFilePath = configPath + File.separator + CMP_SERVERS_CONFIG_FILENAME;
this.cmpServers = Collections.unmodifiableList(cmpServersConfigLoader.load(configFilePath));
}
+ @EventListener
+ public void onRefreshScope(final RefreshScopeRefreshedEvent event) {
+ LOGGER.info(REFRESHING_CONFIGURATION);
+ loadConfiguration();
+ }
+
public List<Cmpv2Server> getCmpServers() {
return cmpServers;
}
diff --git a/certService/src/main/resources/application.properties b/certService/src/main/resources/application.properties
index eab43c08..ac81c3a0 100644
--- a/certService/src/main/resources/application.properties
+++ b/certService/src/main/resources/application.properties
@@ -1,8 +1,11 @@
# Actuator configuration
-management.endpoints.enabled-by-default=false
-management.endpoint.health.enabled=true
springdoc.show-actuator=true
+management.endpoints.enabled-by-default=true
+management.endpoint.configprops.enabled=true
+management.endpoints.web.exposure.include=refresh,health
+
+
# Swagger configuration
springdoc.swagger-ui.path=/docs
diff --git a/pom.xml b/pom.xml
index 010a6342..3eb68813 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,7 @@
<maven-surefire-plugin.version>3.0.0-M4</maven-surefire-plugin.version>
<spring-boot-starter-actuator.version>2.2.4.RELEASE</spring-boot-starter-actuator.version>
<spring-boot-starter-log4j2.version>2.1.5.RELEASE</spring-boot-starter-log4j2.version>
+ <spring-cloud-starter-config.version>2.2.1.RELEASE</spring-cloud-starter-config.version>
<springdoc-openapi-ui.version>1.2.30</springdoc-openapi-ui.version>
<bouncycastle.version>1.60</bouncycastle.version>
<docker-maven-plugin.version>0.33.0</docker-maven-plugin.version>