# ============LICENSE_START=======================================================
# Copyright (c) 2020 Pantheon.tech.
# Modifications Copyright (C) 2021 Bell Canada.
-# Modifications Copyright (C) 2021 Nordix Foundation
+# Modifications Copyright (C) 2022-2024 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# limitations under the License.
# ============LICENSE_END=========================================================
-version: "3.7"
-
services:
- ### Services cps-service, cps-ncmp, zookeeper and kafka are commented below, these
- ### services can be un-commented and used on need to use basis. Only minimal
- ### services will run (dbpostgresql, cps-and-ncmp and ncmp-dmi-plugin) by default.
-
- #cps-standalone:
- # container_name: cps-service
- # image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-service:${VERSION:-latest}
- # ports:
- # - "8881:8080"
- # - "8887:8081"
- # environment:
- # CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
- # CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
- # DB_HOST: dbpostgresql
- # DB_USERNAME: ${DB_USERNAME:-cps}
- # DB_PASSWORD: ${DB_PASSWORD:-cps}
- # #KAFKA_BOOTSTRAP_SERVER: kafka:9092
- # #notification.data-updated.enabled: 'true'
- # #NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*'
- # restart: unless-stopped
- # depends_on:
- # - dbpostgresql
- #ncmp-standalone:
- # container_name: cps-ncmp
- # image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-ncmp:${VERSION:-latest}
- # ports:
- # - "8882:8080"
- # - "8887:8081"
- # environment:
- # CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
- # CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
- # DB_HOST: dbpostgresql
- # DB_USERNAME: ${DB_USERNAME:-cps}
- # DB_PASSWORD: ${DB_PASSWORD:-cps}
- # DMI_USERNAME: ${DMI_USERNAME:-cpsuser}
- # DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!}
- # #KAFKA_BOOTSTRAP_SERVER: kafka:9092
- # #notification.data-updated.enabled: 'true'
- # #NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*'
- # restart: unless-stopped
- # depends_on:
- # - dbpostgresql
-
- # zookeeper:
- # image: confluentinc/cp-zookeeper:6.1.1
- # environment:
- # ZOOKEEPER_CLIENT_PORT: 2181
- # ZOOKEEPER_TICK_TIME: 2000
- # ports:
- # - 22181:2181
- #
- # kafka:
- # image: confluentinc/cp-kafka:6.1.1
- # depends_on:
- # - zookeeper
- # ports:
- # - 29092:29092
- # environment:
- # KAFKA_BROKER_ID: 1
- # KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
- # KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
- # KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
- # KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
- # KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+ ### docker-compose --profile dmi-service up -d -> run CPS services incl. dmi-plugin ###
+ ### docker-compose --profile dmi-stub --profile monitoring up -d -> run CPS with stubbed dmi-plugin (for registration performance testing)
+ ### to disable notifications make notification.enabled to false & comment out kafka/zookeeper services ###
dbpostgresql:
container_name: dbpostgresql
- image: postgres:13.2-alpine
+ image: postgres:14.1-alpine
ports:
- ${DB_PORT:-5432}:5432
environment:
POSTGRES_DB: cpsdb
POSTGRES_USER: ${DB_USERNAME:-cps}
POSTGRES_PASSWORD: ${DB_PASSWORD:-cps}
+ volumes:
+ - ./postgres-init.sql:/docker-entrypoint-initdb.d/postgres-init.sql
+ deploy:
+ resources:
+ reservations:
+ cpus: '1'
+ memory: 1G
+ limits:
+ cpus: '6'
+ memory: 3G
cps-and-ncmp:
container_name: cps-and-ncmp
image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-and-ncmp:${CPS_VERSION:-latest}
ports:
- ${CPS_CORE_PORT:-8883}:8080
- - ${CPS_CORE_MANAGEMENT_PORT:-8887}:8081
+ - ${CPS_CORE_DEBUG_PORT:-5005}:5005
environment:
CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
DB_PASSWORD: ${DB_PASSWORD:-cps}
DMI_USERNAME: ${DMI_USERNAME:-cpsuser}
DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!}
- #KAFKA_BOOTSTRAP_SERVER: kafka:9092
- #notification.data-updated.enabled: 'true'
- #NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*'
+ KAFKA_BOOTSTRAP_SERVER: kafka:29092
+ notification.enabled: 'true'
+ JAVA_TOOL_OPTIONS: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
restart: unless-stopped
depends_on:
- - dbpostgresql
\ No newline at end of file
+ - dbpostgresql
+ deploy:
+ resources:
+ reservations:
+ cpus: '2'
+ memory: 2G
+ limits:
+ cpus: '3'
+ memory: 3G
+
+ ### if kafka is not required comment out zookeeper and kafka ###
+ zookeeper:
+ image: confluentinc/cp-zookeeper:6.2.1
+ container_name: zookeeper
+ ports:
+ - '2181:2181'
+ environment:
+ ZOOKEEPER_CLIENT_PORT: 2181
+
+ kafka:
+ image: confluentinc/cp-kafka:6.2.1
+ container_name: kafka
+ ports:
+ - '9092:9092'
+ depends_on:
+ - zookeeper
+ environment:
+ KAFKA_BROKER_ID: 1
+ KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+ KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,CONNECTIONS_FROM_HOST://localhost:9092
+ KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+
+ ncmp-dmi-plugin:
+ container_name: ncmp-dmi-plugin
+ image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/ncmp-dmi-plugin:${DMI_VERSION:-1.5.0-SNAPSHOT-latest}
+ ports:
+ - ${DMI_PORT:-8783}:8080
+ environment:
+ CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
+ CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
+ CPS_CORE_HOST: ${CPS_CORE_HOST:-cps-and-ncmp}
+ CPS_CORE_PORT: ${CPS_CORE_PORT:-8080}
+ CPS_CORE_USERNAME: ${CPS_CORE_USERNAME:-cpsuser}
+ CPS_CORE_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!}
+ SDNC_HOST: ${SDNC_HOST:-sdnc}
+ SDNC_PORT: ${SDNC_PORT:-8181}
+ SDNC_USERNAME: ${SDNC_USERNAME:-admin}
+ SDNC_PASSWORD: ${SDNC_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
+ DMI_SERVICE_URL: ${DMI_SERVICE_URL:-http://ncmp-dmi-plugin:8783}
+ DMI_SERVICE_NAME: ${DMI_SERVICE_NAME:-dminame1}
+ DMI_USERNAME: ${DMI_USERNAME:-cpsuser}
+ DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!}
+ KAFKA_BOOTSTRAP_SERVER: kafka:29092
+ restart: unless-stopped
+ profiles:
+ - dmi-service
+
+ ncmp-dmi-plugin-demo-and-csit-stub:
+ container_name: ncmp-dmi-plugin-demo-and-csit-stub
+ image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/dmi-plugin-demo-and-csit-stub:${DMI_DEMO_STUB_VERSION:-latest}
+ ports:
+ - ${DMI_DEMO_STUB_PORT:-8784}:8092
+ environment:
+ KAFKA_BOOTSTRAP_SERVER: kafka:29092
+ NCMP_CONSUMER_GROUP_ID: ncmp-group
+ NCMP_ASYNC_M2M_TOPIC: ncmp-async-m2m
+ MODULE_REFERENCES_DELAY_MS: 100
+ MODULE_RESOURCES_DELAY_MS: 1000
+ DATA_FOR_CM_HANDLE_DELAY_MS: 2500
+ restart: unless-stopped
+ profiles:
+ - dmi-stub
+ - dmi-service
+
+ prometheus:
+ container_name: prometheus-container
+ image: prom/prometheus:latest
+ ports:
+ - 9090:9090
+ restart: always
+ volumes:
+ - ./prometheus.yml:/etc/prometheus/prometheus.yml
+ profiles:
+ - monitoring
+
+ grafana:
+ image: grafana/grafana-oss:latest
+ user: ""
+ container_name: grafana-container
+ depends_on:
+ prometheus:
+ condition: service_started
+ ports:
+ - 3000:3000
+ volumes:
+ - grafana:/var/lib/grafana
+ environment:
+ - GF_SECURITY_ADMIN_PASSWORD=admin
+ - GF_SERVER_DOMAIN:localhost
+ profiles:
+ - monitoring
+
+volumes:
+ grafana: