blob: 08929ab22292e9a820cc9de6e5cb383947a26dbd [file] [log] [blame]
Claudio D. Gasparini4e07d482021-02-11 08:51:06 +01001# ============LICENSE_START=======================================================
2# Copyright (c) 2020 Pantheon.tech.
3# Modifications Copyright (C) 2021 Bell Canada.
emacleef6f16f52023-01-25 12:18:15 +00004# Modifications Copyright (C) 2022-2023 Nordix Foundation.
Claudio D. Gasparini4e07d482021-02-11 08:51:06 +01005# ================================================================================
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17# ============LICENSE_END=========================================================
18
Claudio David Gasparini900ba022020-11-08 22:18:36 +010019services:
JosephKeenand181b0e2021-10-01 10:40:47 +010020
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +000021 ### docker-compose --profile dmi-service up -d -> run CPS services incl. dmi-plugin ###
22 ### docker-compose --profile dmi-stub --profile monitoring up -d -> run CPS with stubbed dmi-plugin (for registration performance testing)
JosephKeenan1c908482022-06-16 16:19:09 +010023 ### to disable notifications make notification.enabled to false & comment out kafka/zookeeper services ###
Ruslan Kashapov1e5bd942021-01-22 12:53:01 +020024
Claudio David Gasparini900ba022020-11-08 22:18:36 +010025 dbpostgresql:
26 container_name: dbpostgresql
DylanB95EST6c26ba62022-08-04 13:25:31 +010027 image: postgres:14.1-alpine
Claudio David Gasparini900ba022020-11-08 22:18:36 +010028 ports:
puthuparambil.aditya73d58862022-01-28 13:22:33 +000029 - ${DB_PORT:-5432}:5432
Claudio David Gasparini900ba022020-11-08 22:18:36 +010030 environment:
Claudio David Gasparini5faa49c2020-11-12 08:28:07 +010031 POSTGRES_DB: cpsdb
Bruno Sakoto6658f502021-07-01 22:28:17 -040032 POSTGRES_USER: ${DB_USERNAME:-cps}
33 POSTGRES_PASSWORD: ${DB_PASSWORD:-cps}
emacleef6f16f52023-01-25 12:18:15 +000034 healthcheck:
35 test: ["CMD", "pg_isready"]
36 interval: 30s
37 timeout: 5s
38 retries: 5
Renu Kumariff52b942021-05-27 23:16:32 -040039
JosephKeenand181b0e2021-10-01 10:40:47 +010040 cps-and-ncmp:
41 container_name: cps-and-ncmp
tragaitdd6021e2021-10-19 16:46:21 +010042 image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-and-ncmp:${CPS_VERSION:-latest}
JosephKeenand181b0e2021-10-01 10:40:47 +010043 ports:
tragaitdd6021e2021-10-19 16:46:21 +010044 - ${CPS_CORE_PORT:-8883}:8080
45 - ${CPS_CORE_MANAGEMENT_PORT:-8887}:8081
JosephKeenand181b0e2021-10-01 10:40:47 +010046 environment:
tragaitdd6021e2021-10-19 16:46:21 +010047 CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
48 CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
DylanB95EST4472bef2021-11-03 11:20:07 +000049 DB_HOST: ${DB_HOST:-dbpostgresql}
JosephKeenand181b0e2021-10-01 10:40:47 +010050 DB_USERNAME: ${DB_USERNAME:-cps}
51 DB_PASSWORD: ${DB_PASSWORD:-cps}
52 DMI_USERNAME: ${DMI_USERNAME:-cpsuser}
53 DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!}
JosephKeenanf31c7f82022-05-24 18:59:25 +010054 KAFKA_BOOTSTRAP_SERVER: kafka:9092
JosephKeenan1c908482022-06-16 16:19:09 +010055 notification.enabled: 'true'
56 notification.async.executor.time-out-value-in-ms: 2000
JosephKeenanf31c7f82022-05-24 18:59:25 +010057 NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*'
mpriyank107dbd82022-09-19 15:56:39 +010058 NCMP_TIMERS_ADVISED-MODULES-SYNC_SLEEP-TIME-MS: ${ADVISED_MODULES_SYNC_SLEEP_TIME_MS:-30000}
59 NCMP_TIMERS_CM-HANDLE-DATA-SYNC_SLEEP-TIME-MS: ${CMHANDLE_DATA_SYNC_SLEEP_TIME_MS:-30000}
JosephKeenand181b0e2021-10-01 10:40:47 +010060 restart: unless-stopped
61 depends_on:
JosephKeenanf31c7f82022-05-24 18:59:25 +010062 - dbpostgresql
63
64 ### if kafka is not required comment out zookeeper and kafka ###
65 zookeeper:
66 image: confluentinc/cp-zookeeper:6.2.1
67 container_name: zookeeper
68 ports:
69 - '2181:2181'
70 environment:
71 ZOOKEEPER_CLIENT_PORT: 2181
72
73 kafka:
74 image: confluentinc/cp-kafka:6.2.1
75 container_name: kafka
76 ports:
77 - "19092:19092"
78 depends_on:
79 - zookeeper
80 environment:
81 KAFKA_BROKER_ID: 1
82 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
83 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
84 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
85 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
86
JosephKeenanf31c7f82022-05-24 18:59:25 +010087 ncmp-dmi-plugin:
88 container_name: ncmp-dmi-plugin
ToineSiebelink321d9692022-10-27 10:53:07 +010089 image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/ncmp-dmi-plugin:${DMI_VERSION:-1.3.0-SNAPSHOT-latest}
JosephKeenanf31c7f82022-05-24 18:59:25 +010090 ports:
91 - ${DMI_PORT:-8783}:8080
92 - ${DMI_MANAGEMENT_PORT:-8787}:8081
93 environment:
94 CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
95 CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
96 CPS_CORE_HOST: ${CPS_CORE_HOST:-cps-and-ncmp}
97 CPS_CORE_PORT: ${CPS_CORE_PORT:-8080}
98 CPS_CORE_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
99 CPS_CORE_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
100 SDNC_HOST: ${SDNC_HOST:-sdnc}
101 SDNC_PORT: ${SDNC_PORT:-8181}
102 SDNC_USERNAME: ${SDNC_USERNAME:-admin}
103 SDNC_PASSWORD: ${SDNC_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
104 DMI_SERVICE_URL: ${DMI_SERVICE_URL:-http://ncmp-dmi-plugin:8783}
105 DMI_USERNAME: ${DMI_USERNAME:-cpsuser}
106 DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!}
107 KAFKA_BOOTSTRAP_SERVER: kafka:9092
108 notification.data-updated.enabled: 'true'
109 NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*'
110 restart: unless-stopped
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000111 profiles:
112 - dmi-service
113
114 ncmp-dmi-plugin-stub:
115 container_name: ncmp-dmi-plugin-stub
116 image: wiremock/wiremock:2.33.2
117 ports:
118 - ${DMI_PORT:-8783}:8080
119 volumes:
120 - ../dmi-plugin-perf-stub/mappings:/home/wiremock/mappings
121 - ../dmi-plugin-perf-stub/files:/home/wiremock/__files
122 restart: unless-stopped
123 profiles:
124 - dmi-stub
emacleef6f16f52023-01-25 12:18:15 +0000125
126 init-db:
emaclee605bec22023-02-02 10:58:35 +0000127 build: ${CPS_HOME:-.}/docker-compose/initfile
emacleef6f16f52023-01-25 12:18:15 +0000128 environment:
129 CPS_CORE_PORT: ${CPS_CORE_PORT:-8883}
130 CPS_CORE_MANAGEMENT_PORT: ${CPS_CORE_MANAGEMENT_PORT:-8887}
131 volumes:
emaclee605bec22023-02-02 10:58:35 +0000132 - ${CPS_HOME:-.}/cps-ncmp-service/src/main/resources/model/:/model
emacleef6f16f52023-01-25 12:18:15 +0000133 depends_on:
134 cps-and-ncmp:
ToineSiebelink0fa2fab2023-01-19 16:45:58 +0000135 condition: service_started
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000136
137 prometheus:
138 container_name: prometheus-container
139 image: prom/prometheus:latest
140 ports:
141 - 9090:9090
142 restart: always
143 volumes:
144 - ./prometheus.yml:/etc/prometheus/prometheus.yml
145 profiles:
146 - monitoring
147
148 grafana:
149 image: grafana/grafana-oss:latest
150 user: ""
151 container_name: grafana-container
152 depends_on:
153 prometheus:
154 condition: service_started
155 ports:
156 - 3000:3000
157 volumes:
158 - grafana:/var/lib/grafana
159 environment:
160 - GF_SECURITY_ADMIN_PASSWORD=admin
161 - GF_SERVER_DOMAIN:localhost
162 profiles:
163 - monitoring
164
165volumes:
166 grafana: