Decouple application configuration file 76/117476/2
authorClaudio D. Gasparini <claudio.gasparini@pantheon.tech>
Thu, 4 Feb 2021 08:33:28 +0000 (09:33 +0100)
committerClaudio D. Gasparini <claudio.gasparini@pantheon.tech>
Thu, 4 Feb 2021 11:58:14 +0000 (12:58 +0100)
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

cps-application/pom.xml
cps-rest/pom.xml
docker-compose/README.md
docker-compose/application.yml [moved from cps-application/src/main/resources/application.yml with 100% similarity]
docker-compose/docker-compose.yml

index a159ad8..744efb2 100644 (file)
                 <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>
             <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>
                     <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>
                     <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
index 6ee0c4f..5bd223d 100755 (executable)
@@ -12,7 +12,7 @@
     <artifactId>cps-rest</artifactId>\r
 \r
     <properties>\r
-        <minimum-coverage>0.53</minimum-coverage>\r
+        <minimum-coverage>0.51</minimum-coverage>\r
     </properties>\r
 \r
     <dependencies>\r
index ca395df..3d68c3f 100644 (file)
@@ -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
index accdbd4..beae091 100644 (file)
@@ -4,6 +4,8 @@ services:
   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 @@ services:
     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