aboutsummaryrefslogtreecommitdiffstats
path: root/docker-compose
diff options
context:
space:
mode:
authorClaudio D. Gasparini <claudio.gasparini@pantheon.tech>2021-02-04 09:33:28 +0100
committerClaudio D. Gasparini <claudio.gasparini@pantheon.tech>2021-02-04 12:58:14 +0100
commitb1ccfce0b229d544bf08b1c197a2365b40369796 (patch)
treefd803e64387205147eda40668532a1aa053f7376 /docker-compose
parent1540a5809fff8477bfdb6f43fd6c475cf13c6d71 (diff)
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
Diffstat (limited to 'docker-compose')
-rw-r--r--docker-compose/README.md21
-rw-r--r--docker-compose/application.yml51
-rw-r--r--docker-compose/docker-compose.yml31
3 files changed, 100 insertions, 3 deletions
diff --git a/docker-compose/README.md b/docker-compose/README.md
index ca395df07..3d68c3ff4 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/docker-compose/application.yml b/docker-compose/application.yml
new file mode 100644
index 000000000..c3ceecde0
--- /dev/null
+++ b/docker-compose/application.yml
@@ -0,0 +1,51 @@
+server:
+ port: 8080
+
+rest:
+ api:
+ cps-base-path: /cps/api
+ xnf-base-path: /cps-nf-proxy/api
+
+spring:
+ main:
+ banner-mode: "off"
+ jpa:
+ ddl-auto: create
+ open-in-view: false
+ properties:
+ hibernate:
+ enable_lazy_load_no_trans: true
+ dialect: org.hibernate.dialect.PostgreSQLDialect
+
+ datasource:
+ url: jdbc:postgresql://${DB_HOST}:5432/cpsdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driverClassName: org.postgresql.Driver
+ initialization-mode: always
+
+ cache:
+ type: caffeine
+ cache-names: yangSchema
+ caffeine:
+ spec: maximumSize=10000,expireAfterAccess=10m
+# Actuator
+management:
+ endpoints:
+ web:
+ base-path: /manage
+ exposure:
+ include: info,health,loggers
+ endpoint:
+ health:
+ show-details: always
+ # kubernetes probes: liveness and readiness
+ probes:
+ enabled: true
+ loggers:
+ enabled: true
+
+logging:
+ level:
+ org:
+ springframework: INFO
diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml
index accdbd4db..beae091f1 100644
--- a/docker-compose/docker-compose.yml
+++ b/docker-compose/docker-compose.yml
@@ -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