Copyright Check Script
[cps.git] / docker-compose / README.md
index ec4868c..623968f 100644 (file)
@@ -1,12 +1,34 @@
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2020 Pantheon.tech
+   Modifications Copyright (C) 2020-2021 Nordix Foundation.
+   Modifications Copyright (C) 2021 Bell Canada.
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+
 # 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:  
+without generating any docker images:
 
 ```bash
-mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Djib.skip
+mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker -Djib.skip
 ```
 
 ## Building Java Archive and Docker images
@@ -14,14 +36,14 @@ mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Djib.skip
 * Following command builds the JAR file and also generates the Docker image for all CPS components:
 
 ```bash
-mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Dnexus.repository=""
+mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker
 ```
 
 * 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`):
+  (with `<docker-profile>` being one of `cps-docker`, `ncmp-docker` or `cps-ncmp-docker`):
 
 ```bash
-mvn clean install -P<docker-profile> -Dnexus.repository=""
+mvn clean install -P<docker-profile>
 ```
 
 ## Running Docker containers
@@ -29,12 +51,21 @@ mvn clean install -P<docker-profile> -Dnexus.repository=""
 `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`.
+1. Edit `docker-compose.yml`
+   1. uncomment desired service to be deployed, by default `cps-and-ncmp` is enabled. You can comment it and uncomment `cps-standalone` or `ncmp-standalone`.
+   2. To send data-updated events to kafka,
+      * uncomment the `zookeeper` and `kafka` services.
+      * uncomment environment variables
+        * `notification.data-updated.enabled: 'true'`
+        * `KAFKA_BOOTSTRAP_SERVER: kafka:9092`
+        * `NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*'`
 2. Execute following command from `docker-compose` folder:
 
+Use one of the below version type that has been generated in the local system's docker image list after the build.
 ```bash
-VERSION=x.y.z-SNAPSHOT DB_HOST=dbpostgresql DB_USERNAME=cps DB_PASSWORD=cps docker-compose up -d
+VERSION=latest DB_USERNAME=cps DB_PASSWORD=cps docker-compose up -d
+or
+VERSION=<version> DB_USERNAME=cps DB_PASSWORD=cps docker-compose up -d
 ```
 
 ## Running or debugging Java built code
@@ -55,9 +86,8 @@ Then CPS can be started either using a Java Archive previously built or directly
 Following command starts the application using JAR file:
 
 ```bash
-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
+DB_HOST=localhost DB_USERNAME=cps DB_PASSWORD=cps CPS_CORE_USERNAME=cpsuser CPS_CORE_PASSWORD=cpsr0cks! \
+  java -jar cps-application/target/cps-application-x.y.z-SNAPSHOT.jar
 ```
 
 ### Running from IntelliJ IDE
@@ -66,15 +96,17 @@ 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`
+   * `Environment variables`: `DB_HOST=localhost;DB_USERNAME=cps;DB_PASSWORD=cps
+                                CPS_CORE_USERNAME=cpsuser CPS_CORE_PASSWORD=cpsr0cks!`
 
 ## 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`
+* `http://localhost:<port-number>/swagger-ui.html`
+* `http://localhost:<port-number>/api-docs/cps-core/openapi.yaml`
+* `http://localhost:<port-number>/api-docs/cps-ncmp/openapi.yaml`
+* `http://localhost:<port-number>/api-docs/cps-ncmp/openapi-inventory.yaml`
 
 with <port-number> being either `8080` if running the plain Java build or retrieved using following command
 if running from `docker-compose`: