blob: b854064ca5201d9e5bfe7122e363aab86e0b69bf [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.
danielhanrahan9d152cb2024-01-29 13:44:13 +00004# Modifications Copyright (C) 2022-2024 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)
sourabh_sourabhe2527ea2024-07-19 17:27:54 +010023 ### docker-compose --profile dmi-stub --profile tracing up -d -> run CPS with stubbed dmi-plugin (for open telemetry tracing testing make ONAP_TRACING_ENABLED "true" later "http://localhost:16686" can be accessed from browser)
ToineSiebelink6191d412024-09-16 15:42:30 +010024 ### docker-compose --profile dmi-stub --profile policy-executor-stub up -d -> run CPS with stubbed dmi-plugin and policy executor stub (for policy executor service testing make POLICY_SERVICE_ENABLED "true")
JosephKeenan1c908482022-06-16 16:19:09 +010025 ### to disable notifications make notification.enabled to false & comment out kafka/zookeeper services ###
ToineSiebelink77e469b2024-10-01 18:40:39 +010026 ### DEBUG: Look for '### DEBUG' comments to enable CPS-NCMP debugging
Ruslan Kashapov1e5bd942021-01-22 12:53:01 +020027
Claudio David Gasparini900ba022020-11-08 22:18:36 +010028 dbpostgresql:
29 container_name: dbpostgresql
DylanB95EST6c26ba62022-08-04 13:25:31 +010030 image: postgres:14.1-alpine
Claudio David Gasparini900ba022020-11-08 22:18:36 +010031 ports:
puthuparambil.aditya73d58862022-01-28 13:22:33 +000032 - ${DB_PORT:-5432}:5432
Claudio David Gasparini900ba022020-11-08 22:18:36 +010033 environment:
Claudio David Gasparini5faa49c2020-11-12 08:28:07 +010034 POSTGRES_DB: cpsdb
Bruno Sakoto6658f502021-07-01 22:28:17 -040035 POSTGRES_USER: ${DB_USERNAME:-cps}
36 POSTGRES_PASSWORD: ${DB_PASSWORD:-cps}
danielhanrahan4e2c9272024-03-14 18:02:09 +000037 volumes:
danielhanrahanfe226882024-08-23 13:29:11 +010038 - ./config/postgres-init.sql:/docker-entrypoint-initdb.d/postgres-init.sql
danielhanrahan9d152cb2024-01-29 13:44:13 +000039 deploy:
40 resources:
41 reservations:
42 cpus: '1'
43 memory: 1G
44 limits:
45 cpus: '6'
46 memory: 3G
Renu Kumariff52b942021-05-27 23:16:32 -040047
JosephKeenand181b0e2021-10-01 10:40:47 +010048 cps-and-ncmp:
tragaitdd6021e2021-10-19 16:46:21 +010049 image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-and-ncmp:${CPS_VERSION:-latest}
JosephKeenand181b0e2021-10-01 10:40:47 +010050 environment:
tragaitdd6021e2021-10-19 16:46:21 +010051 CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
52 CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
DylanB95EST4472bef2021-11-03 11:20:07 +000053 DB_HOST: ${DB_HOST:-dbpostgresql}
JosephKeenand181b0e2021-10-01 10:40:47 +010054 DB_USERNAME: ${DB_USERNAME:-cps}
55 DB_PASSWORD: ${DB_PASSWORD:-cps}
56 DMI_USERNAME: ${DMI_USERNAME:-cpsuser}
57 DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!}
halil.cakal1340c572023-04-12 15:19:45 +010058 KAFKA_BOOTSTRAP_SERVER: kafka:29092
JosephKeenan1c908482022-06-16 16:19:09 +010059 notification.enabled: 'true'
sourabh_sourabhe2527ea2024-07-19 17:27:54 +010060 ONAP_TRACING_ENABLED: 'false'
61 ONAP_OTEL_SAMPLER_JAEGER_REMOTE_ENDPOINT: http://jaeger-service:14250
62 ONAP_OTEL_EXPORTER_ENDPOINT: http://jaeger-service:4317
ToineSiebelink6191d412024-09-16 15:42:30 +010063 POLICY_SERVICE_ENABLED: 'false'
ToineSiebelink77e469b2024-10-01 18:40:39 +010064 POLICY_SERVICE_DEFAULT_DECISION: 'deny from env'
halil.cakal3f9f1932024-09-23 11:05:16 +010065 JAVA_TOOL_OPTIONS: "-XX:InitialRAMPercentage=75.0 -XX:MaxRAMPercentage=75.0"
ToineSiebelink77e469b2024-10-01 18:40:39 +010066 ### DEBUG: Uncomment next line to enable java debugging
67 ### DEBUG: JAVA_TOOL_OPTIONS: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
JosephKeenand181b0e2021-10-01 10:40:47 +010068 restart: unless-stopped
69 depends_on:
JosephKeenanf31c7f82022-05-24 18:59:25 +010070 - dbpostgresql
danielhanrahan9d152cb2024-01-29 13:44:13 +000071 deploy:
ToineSiebelink77e469b2024-10-01 18:40:39 +010072 ### DEBUG: For easier debugging use just 1 instance (also update docker-compose/config/nginx/nginx.conf !)
halil.cakal3a9613f2024-06-17 09:24:59 +010073 replicas: 2
danielhanrahan9d152cb2024-01-29 13:44:13 +000074 resources:
danielhanrahan9d152cb2024-01-29 13:44:13 +000075 limits:
76 cpus: '3'
halil.cakal3f9f1932024-09-23 11:05:16 +010077 memory: 2G
ToineSiebelink77e469b2024-10-01 18:40:39 +010078 ### DEBUG: Uncomment next 2 lines to enable java debugging (ensure 'ports' aligns with 'deploy')
79 ### DEBUG ports:
80 ### DEBUG - ${CPS_CORE_DEBUG_PORT:-5005}:5005
JosephKeenanf31c7f82022-05-24 18:59:25 +010081
halil.cakal3a9613f2024-06-17 09:24:59 +010082 nginx:
83 container_name: nginx-loadbalancer
84 image: nginx:latest
85 ports:
86 - ${CPS_CORE_PORT:-8883}:80
87 depends_on:
88 - cps-and-ncmp
89 volumes:
danielhanrahanfe226882024-08-23 13:29:11 +010090 - ./config/nginx/nginx.conf:/etc/nginx/nginx.conf
91 - ./config/nginx/proxy_params:/etc/nginx/proxy_params
halil.cakal3a9613f2024-06-17 09:24:59 +010092
JosephKeenanf31c7f82022-05-24 18:59:25 +010093 ### if kafka is not required comment out zookeeper and kafka ###
94 zookeeper:
95 image: confluentinc/cp-zookeeper:6.2.1
96 container_name: zookeeper
97 ports:
98 - '2181:2181'
99 environment:
100 ZOOKEEPER_CLIENT_PORT: 2181
101
102 kafka:
103 image: confluentinc/cp-kafka:6.2.1
104 container_name: kafka
105 ports:
halil.cakal1340c572023-04-12 15:19:45 +0100106 - '9092:9092'
JosephKeenanf31c7f82022-05-24 18:59:25 +0100107 depends_on:
108 - zookeeper
109 environment:
110 KAFKA_BROKER_ID: 1
111 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
JosephKeenanf31c7f82022-05-24 18:59:25 +0100112 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
halil.cakal1340c572023-04-12 15:19:45 +0100113 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,CONNECTIONS_FROM_HOST://localhost:9092
JosephKeenanf31c7f82022-05-24 18:59:25 +0100114 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
115
JosephKeenanf31c7f82022-05-24 18:59:25 +0100116 ncmp-dmi-plugin:
117 container_name: ncmp-dmi-plugin
mpriyank35e0df32024-06-14 15:02:53 +0100118 image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/ncmp-dmi-plugin:${DMI_VERSION:-1.6.0-SNAPSHOT-latest}
JosephKeenanf31c7f82022-05-24 18:59:25 +0100119 ports:
120 - ${DMI_PORT:-8783}:8080
JosephKeenanf31c7f82022-05-24 18:59:25 +0100121 environment:
122 CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
123 CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
124 CPS_CORE_HOST: ${CPS_CORE_HOST:-cps-and-ncmp}
125 CPS_CORE_PORT: ${CPS_CORE_PORT:-8080}
126 CPS_CORE_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
127 CPS_CORE_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
128 SDNC_HOST: ${SDNC_HOST:-sdnc}
129 SDNC_PORT: ${SDNC_PORT:-8181}
130 SDNC_USERNAME: ${SDNC_USERNAME:-admin}
131 SDNC_PASSWORD: ${SDNC_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
132 DMI_SERVICE_URL: ${DMI_SERVICE_URL:-http://ncmp-dmi-plugin:8783}
halil.cakal1340c572023-04-12 15:19:45 +0100133 DMI_SERVICE_NAME: ${DMI_SERVICE_NAME:-dminame1}
JosephKeenanf31c7f82022-05-24 18:59:25 +0100134 DMI_USERNAME: ${DMI_USERNAME:-cpsuser}
135 DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!}
halil.cakal1340c572023-04-12 15:19:45 +0100136 KAFKA_BOOTSTRAP_SERVER: kafka:29092
JosephKeenanf31c7f82022-05-24 18:59:25 +0100137 restart: unless-stopped
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000138 profiles:
139 - dmi-service
140
sourabh_sourabh7cda5e92023-07-05 00:56:05 +0100141 ncmp-dmi-plugin-demo-and-csit-stub:
142 container_name: ncmp-dmi-plugin-demo-and-csit-stub
143 image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/dmi-plugin-demo-and-csit-stub:${DMI_DEMO_STUB_VERSION:-latest}
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000144 ports:
sourabh_sourabh7cda5e92023-07-05 00:56:05 +0100145 - ${DMI_DEMO_STUB_PORT:-8784}:8092
146 environment:
halil.cakal1340c572023-04-12 15:19:45 +0100147 KAFKA_BOOTSTRAP_SERVER: kafka:29092
sourabh_sourabh7cda5e92023-07-05 00:56:05 +0100148 NCMP_CONSUMER_GROUP_ID: ncmp-group
149 NCMP_ASYNC_M2M_TOPIC: ncmp-async-m2m
danielhanrahan156ae0b2024-10-18 12:38:12 +0100150 MODULE_INITIAL_PROCESSING_DELAY_MS: 120000
JvD_Ericsson1516fa02024-01-31 13:47:28 +0000151 MODULE_REFERENCES_DELAY_MS: 100
152 MODULE_RESOURCES_DELAY_MS: 1000
halil.cakala9ee0ab2024-07-16 13:53:05 +0100153 READ_DATA_FOR_CM_HANDLE_DELAY_MS: 300
154 WRITE_DATA_FOR_CM_HANDLE_DELAY_MS: 670
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000155 restart: unless-stopped
156 profiles:
157 - dmi-stub
sourabh_sourabh7cda5e92023-07-05 00:56:05 +0100158 - dmi-service
emacleef6f16f52023-01-25 12:18:15 +0000159
ToineSiebelinkd7914bc2024-07-04 15:15:36 +0100160 policy-executor-stub:
161 container_name: policy-executor-stub
162 image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/policy-executor-stub:latest
163 ports:
ToineSiebelink6191d412024-09-16 15:42:30 +0100164 - 8785:8093
ToineSiebelinkd7914bc2024-07-04 15:15:36 +0100165 restart: unless-stopped
166 profiles:
167 - policy-executor-stub
168
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000169 prometheus:
danielhanrahanfe226882024-08-23 13:29:11 +0100170 container_name: prometheus
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000171 image: prom/prometheus:latest
172 ports:
173 - 9090:9090
174 restart: always
175 volumes:
danielhanrahanfe226882024-08-23 13:29:11 +0100176 - ./config/prometheus.yml:/etc/prometheus/prometheus.yml
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000177 profiles:
178 - monitoring
179
180 grafana:
181 image: grafana/grafana-oss:latest
182 user: ""
danielhanrahanfe226882024-08-23 13:29:11 +0100183 container_name: grafana
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000184 depends_on:
185 prometheus:
186 condition: service_started
187 ports:
188 - 3000:3000
189 volumes:
danielhanrahanfe226882024-08-23 13:29:11 +0100190 - ./config/grafana/provisioning/:/etc/grafana/provisioning/
191 - ./config/grafana/jvm-micrometer-dashboard.json:/var/lib/grafana/dashboards/jvm-micrometer-dashboard.json
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000192 - grafana:/var/lib/grafana
193 environment:
194 - GF_SECURITY_ADMIN_PASSWORD=admin
195 - GF_SERVER_DOMAIN:localhost
196 profiles:
197 - monitoring
198
halil.cakal65b870b2024-07-25 11:12:29 +0100199 kafka-ui:
200 container_name: kafka-ui
201 image: provectuslabs/kafka-ui:latest
202 ports:
203 - 8089:8080
204 environment:
205 DYNAMIC_CONFIG_ENABLED: 'true'
206 KAFKA_CLUSTERS_0_NAME: 'cps-kafka-local'
207 KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092
208 profiles:
209 - monitoring
210
sourabh_sourabhe2527ea2024-07-19 17:27:54 +0100211 jaeger-service:
212 container_name: jaeger-service
213 image: jaegertracing/all-in-one:latest
214 ports:
215 - 16686:16686
216 restart: unless-stopped
217 profiles:
218 - tracing
219
ToineSiebelinkb2c8bc62023-02-07 10:30:03 +0000220volumes:
221 grafana: