Decouple application configuration file
Agreement is that application configuration should live on OOM
- leave an example of the configuration file under docker
compose to run locally, instead of use OOM. Mainly for devs
- document on README how to run the app with IDE or with docker compose
- remove duplicate code on poms
Issue-ID: CPS-175
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
Change-Id: I328e89dba78cdf4d8abab51e3be5cb6d641064db
diff --git a/cps-application/pom.xml b/cps-application/pom.xml
index a159ad8..744efb2 100644
--- a/cps-application/pom.xml
+++ b/cps-application/pom.xml
@@ -68,6 +68,10 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
+ <plugin>
+ <groupId>com.google.cloud.tools</groupId>
+ <artifactId>jib-maven-plugin</artifactId>
+ </plugin>
</plugins>
</build>
<profiles>
@@ -76,21 +80,12 @@
<activation>
<activeByDefault>false</activeByDefault>
</activation>
-
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>cps-rest</artifactId>
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>com.google.cloud.tools</groupId>
- <artifactId>jib-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
</profile>
<profile>
<id>xnf-docker</id>
@@ -109,14 +104,6 @@
<artifactId>cps-nf-proxy-rest</artifactId>
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>com.google.cloud.tools</groupId>
- <artifactId>jib-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
</profile>
<profile>
<id>cps-xnf-docker</id>
@@ -139,14 +126,6 @@
<artifactId>cps-nf-proxy-rest</artifactId>
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>com.google.cloud.tools</groupId>
- <artifactId>jib-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
</profile>
</profiles>
</project>
\ No newline at end of file
diff --git a/cps-rest/pom.xml b/cps-rest/pom.xml
index 6ee0c4f..5bd223d 100755
--- a/cps-rest/pom.xml
+++ b/cps-rest/pom.xml
@@ -12,7 +12,7 @@
<artifactId>cps-rest</artifactId>
<properties>
- <minimum-coverage>0.53</minimum-coverage>
+ <minimum-coverage>0.51</minimum-coverage>
</properties>
<dependencies>
diff --git a/docker-compose/README.md b/docker-compose/README.md
index ca395df..3d68c3f 100644
--- a/docker-compose/README.md
+++ b/docker-compose/README.md
@@ -2,18 +2,33 @@
To run the application locally using `docker-compose`, execute following command from this `docker-compose` folder:
-Generate the containers
+Compile without generating the docker images
+
+```bash
+mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Djib.skip
+```
+
+Generate the docker images
```bash
mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker
```
-or for generate an specific type
+
+for generate a specific type of docker images
```bash
mvn clean install -Pcps-docker
```
+
Run the containers
```bash
VERSION=0.0.1-SNAPSHOT DB_HOST=dbpostgresql DB_USERNAME=cps DB_PASSWORD=cps docker-compose up -d
-```
\ No newline at end of file
+```
+
+Run application from Intellj IDE
+
+you need first to enable the maven profile desired under tab Maven
+then go to Run -> Edit configurations
+ 1- Working directory -> select docker-compose folder e.g. ~/workspace/onap/cps/docker-compose/
+ 2- Enviroment variables -> add variables configuration e.g. DB_HOST=127.0.0.1;DB_USERNAME=cps;DB_PASSWORD=cps
\ No newline at end of file
diff --git a/cps-application/src/main/resources/application.yml b/docker-compose/application.yml
similarity index 100%
rename from cps-application/src/main/resources/application.yml
rename to docker-compose/application.yml
diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml
index accdbd4..beae091 100644
--- a/docker-compose/docker-compose.yml
+++ b/docker-compose/docker-compose.yml
@@ -4,6 +4,8 @@
cps:
container_name: cps-service
image: nexus3.onap.org:10001/onap/cps-service:${VERSION}
+ volumes:
+ - "./application.yml:/app/application.yml"
ports:
- "8881:8080"
environment:
@@ -14,6 +16,35 @@
depends_on:
- dbpostgresql
+ cps-nf-proxy:
+ container_name: cps-nf-proxy
+ image: nexus3.onap.org:10001/onap/cps-nf-proxy:${VERSION}
+ volumes:
+ - "./application.yml:/app/application.yml"
+ ports:
+ - "8882:8080"
+ environment:
+ DB_HOST: ${DB_HOST}
+ DB_USERNAME: ${DB_USERNAME}
+ DB_PASSWORD: ${DB_PASSWORD}
+ restart: unless-stopped
+ depends_on:
+ - dbpostgresql
+
+ cps-and-nf-proxy:
+ container_name: cps-and-nf-proxy
+ image: nexus3.onap.org:10001/onap/cps-and-nf-proxy:${VERSION}
+ volumes:
+ - "./application.yml:/app/application.yml"
+ ports:
+ - "8883:8080"
+ environment:
+ DB_HOST: ${DB_HOST}
+ DB_USERNAME: ${DB_USERNAME}
+ DB_PASSWORD: ${DB_PASSWORD}
+ restart: unless-stopped
+ depends_on:
+ - dbpostgresql
dbpostgresql:
container_name: dbpostgresql