summaryrefslogtreecommitdiffstats
path: root/docker-compose
diff options
context:
space:
mode:
authorshivasubedi <shiva.subedi@est.tech>2021-06-23 16:01:10 +0100
committershivasubedi <shiva.subedi@est.tech>2021-06-29 17:55:54 +0100
commitf4b36ef3cd49bf99c9b82c225fac1933b6fddf7a (patch)
tree5d25fd5a219bcc0c5a02a6a196f5d17741f59dfb /docker-compose
parent8c3aa37f2da1ac6fbd468aa6df331b3a24febddf (diff)
Create docker image for dmi-plugin
Issue-ID: CPS-404 Signed-off-by: tragait <rahul.tyagi@est.tech> Change-Id: Ifa62eae6ca6e8f40ce380f95bdc434a9b1dafe4b Signed-off-by: shivasubedi <shiva.subedi@est.tech>
Diffstat (limited to 'docker-compose')
-rw-r--r--docker-compose/README.md88
-rwxr-xr-xdocker-compose/docker-compose.yml28
2 files changed, 116 insertions, 0 deletions
diff --git a/docker-compose/README.md b/docker-compose/README.md
new file mode 100644
index 00000000..4dfe20e4
--- /dev/null
+++ b/docker-compose/README.md
@@ -0,0 +1,88 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (c) 2021 Nordix Foundation.
+ ================================================================================
+ 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.
+ ============LICENSE_END=========================================================
+-->
+# Building and running dmi-plugin locally
+
+## Building Java Archive only
+
+Following command builds Java component to `ncmp-dmi-plugin/target/ncmp-dmi-plugin-x.y.z-SNAPSHOT.jar` JAR file
+without generating any docker images:
+
+```bash
+mvn clean install -Djib.skip
+```
+
+## Building Java Archive and Docker image
+
+* Following command builds the JAR file and also generates the Docker image for the dmi plugin:
+
+```bash
+mvn clean install
+```
+
+## Running Docker containers
+
+`docker-compose/docker-compose.yml` file is provided to be run with `docker-compose` tool and images previously built.
+It starts ncmp-dmi-plugin service.
+
+Execute following command from `docker-compose` folder:
+
+Use one of the below types that has been generated in the local system's docker image list after the build.
+```bash
+docker-compose up -d
+or
+VERSION=<version> docker-compose up -d
+or
+DOCKER_REPO=<docker.repo> docker-compose up -d
+or
+VERSION=<version> DOCKER_REPO=<docker_repo> docker-compose up -d
+```
+
+## Running or debugging Java built code
+
+dmi-plugin 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:
+
+```bash
+CPS_USERNAME=cpsuser CPS_PASSWORD=cpsr0cks! \
+ java -jar ncmp-dmi-plugin/target/ncmp-dmi-plugin-x.y.z-SNAPSHOT.jar
+```
+
+### Running from IntelliJ IDE
+
+Here are the steps to run or debug the application from Intellij:
+
+1. Enable the desired maven profile from Maven Tool Window
+2. Run a configuration from `Run -> Edit configurations` with following settings:
+ * `Environment variables`: `CPS_USERNAME=cpsuser CPS_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=dmi-plugin-docket`
+
+with <port-number> being either `8080` if running the plain Java build or retrieved using following command
+if running from `docker-compose`:
+
+```bash
+docker inspect \
+ --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' \
+ <dmi-plugin-docker-container>
+```
diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml
new file mode 100755
index 00000000..5b7e2970
--- /dev/null
+++ b/docker-compose/docker-compose.yml
@@ -0,0 +1,28 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 Nordix Foundation
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+version: "3.7"
+
+services:
+ ncmp-dmi-plugin:
+ container_name: ncmp-dmi-plugin
+ image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/ncmp-dmi-plugin:${VERSION:-latest}
+ ports:
+ - "8883:8080"
+ environment:
+ CPS_USERNAME: ${CPS_USERNAME:-cpsuser}
+ CPS_PASSWORD: ${CPS_PASSWORD:-cpsr0cks!}
+ restart: unless-stopped