tree: 0588258611e1b2baa603797685906a24c61a406b [path history] [tgz]
  1. application.yml
  2. docker-compose.yml
  3. README.md
docker-compose/README.md

Building and running CPS locally

Building Java Archive only

Following command builds all Java components to cps-application/target/cps-application-x.y.z-SNAPSHOT.jar JAR file without generating any docker images:

mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Djib.skip

Building Java Archive and Docker images

  • Following command builds the JAR file and also generates the Docker image for all CPS components:
mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Dnexus.repository=
  • Following command builds the JAR file and generates the Docker image for specified CPS component: (with <docker-profile> being one of cps-docker, xnf-docker or cps-xnf-docker):
mvn clean install -P<docker-profile> -Dnexus.repository=

Running Docker containers

docker-compose/docker-compose.yml file is provided to be run with docker-compose tool and images previously built. It starts both Postgres database and CPS services.

  1. Edit docker-compose.yml and uncomment desired service to be deployed, by default cps-and-nf-proxy is enabled. You can comment it and uncomment cps-standalone or nf-proxy-standalone.
  2. Execute following command from docker-compose folder:
VERSION=x.y.z-SNAPSHOT DB_HOST=dbpostgresql DB_USERNAME=cps DB_PASSWORD=cps docker-compose up -d

Running or debugging Java built code

Before running CPS, a Postgres database instance needs to be started. This can be done with following command:

docker run --name postgres -p 5432:5432 -d \
  -e POSTGRES_DB=cpsdb -e POSTGRES_USER=cps -e POSTGRES_PASSWORD=cps \
  postgres:12.4-alpine

Then CPS can be started either using a Java Archive previously built or directly from Intellij IDE.

Running from Jar Archive

Following command starts the application using JAR file:

DB_HOST=localhost DB_USERNAME=cps DB_PASSWORD=cps \
  java -classpath cps-application/target/cps-application-x.y.z-SNAPSHOT.jar:docker-compose \
  org.springframework.boot.loader.JarLauncher

Running from IntelliJ IDE

Here are the steps to run or debug the application from Intellij:

  1. Enable the desired maven profile form Maven Tool Window
  2. Run a configuration from Run -> Edit configurations with following settings:
    • Working directory: docker-compose folder, e.g. $ProjectFileDir$/docker-compose
    • Environment variables: DB_HOST=localhost;DB_USERNAME=cps;DB_PASSWORD=cps

Accessing services

Swagger UI and Open API specifications are available to discover service endpoints and send requests.

  • http://localhost:<port-number>/swagger-ui/index.html
  • http://localhost:<port-number>/v3/api-docs?group=cps-docket

with being either 8080 if running the plain Java build or retrieved using following command if running from docker-compose:

docker inspect \
  --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' \
  <cps-docker-container>

Enjoy CPS !