X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docker-compose%2Fdocker-compose.yml;h=d0a157e8907e0fc62bfa820094fe00ff97215a2e;hb=refs%2Fheads%2Fmaster;hp=94ffe618286a7071360b244d8a070ddaa4570bea;hpb=2e4e097f40d831c2d8edf6da3769a9eadb348312;p=cps.git diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 94ffe61828..1e47d47382 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -1,7 +1,7 @@ # ============LICENSE_START======================================================= # Copyright (c) 2020 Pantheon.tech. # Modifications Copyright (C) 2021 Bell Canada. -# Modifications Copyright (C) 2022 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. @@ -18,7 +18,10 @@ services: - ### docker-compose up -d -> run ALL services ### + ### 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) + ### 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) + ### 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") ### to disable notifications make notification.enabled to false & comment out kafka/zookeeper services ### dbpostgresql: @@ -30,13 +33,19 @@ services: POSTGRES_DB: cpsdb POSTGRES_USER: ${DB_USERNAME:-cps} POSTGRES_PASSWORD: ${DB_PASSWORD:-cps} + volumes: + - ./config/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 environment: CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser} CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!} @@ -45,15 +54,35 @@ services: DB_PASSWORD: ${DB_PASSWORD:-cps} DMI_USERNAME: ${DMI_USERNAME:-cpsuser} DMI_PASSWORD: ${DMI_PASSWORD:-cpsr0cks!} - KAFKA_BOOTSTRAP_SERVER: kafka:9092 + KAFKA_BOOTSTRAP_SERVER: kafka:29092 notification.enabled: 'true' - notification.async.executor.time-out-value-in-ms: 2000 - NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*' - NCMP_TIMERS_ADVISED-MODULES-SYNC_SLEEP-TIME-MS: ${ADVISED_MODULES_SYNC_SLEEP_TIME_MS:-30000} - NCMP_TIMERS_CM-HANDLE-DATA-SYNC_SLEEP-TIME-MS: ${CMHANDLE_DATA_SYNC_SLEEP_TIME_MS:-30000} + ONAP_TRACING_ENABLED: 'false' + ONAP_OTEL_SAMPLER_JAEGER_REMOTE_ENDPOINT: http://jaeger-service:14250 + ONAP_OTEL_EXPORTER_ENDPOINT: http://jaeger-service:4317 + POLICY_SERVICE_ENABLED: 'false' restart: unless-stopped depends_on: - dbpostgresql + deploy: + replicas: 2 + resources: + reservations: + cpus: '2' + memory: 2G + limits: + cpus: '3' + memory: 3G + + nginx: + container_name: nginx-loadbalancer + image: nginx:latest + ports: + - ${CPS_CORE_PORT:-8883}:80 + depends_on: + - cps-and-ncmp + volumes: + - ./config/nginx/nginx.conf:/etc/nginx/nginx.conf + - ./config/nginx/proxy_params:/etc/nginx/proxy_params ### if kafka is not required comment out zookeeper and kafka ### zookeeper: @@ -68,23 +97,21 @@ services: image: confluentinc/cp-kafka:6.2.1 container_name: kafka ports: - - "19092:19092" + - '9092:9092' depends_on: - zookeeper environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092 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 - ### Comment out this section if dmi plugin is not required ### ncmp-dmi-plugin: container_name: ncmp-dmi-plugin - image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/ncmp-dmi-plugin:${DMI_VERSION:-1.2.0-SNAPSHOT-latest} + image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/ncmp-dmi-plugin:${DMI_VERSION:-1.6.0-SNAPSHOT-latest} ports: - ${DMI_PORT:-8783}:8080 - - ${DMI_MANAGEMENT_PORT:-8787}:8081 environment: CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser} CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!} @@ -97,9 +124,92 @@ services: 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:9092 - notification.data-updated.enabled: 'true' - NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*' + 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_INITIAL_PROCESSING_DELAY_MS: 0 + MODULE_REFERENCES_DELAY_MS: 100 + MODULE_RESOURCES_DELAY_MS: 1000 + READ_DATA_FOR_CM_HANDLE_DELAY_MS: 300 + WRITE_DATA_FOR_CM_HANDLE_DELAY_MS: 670 + restart: unless-stopped + profiles: + - dmi-stub + - dmi-service + + policy-executor-stub: + container_name: policy-executor-stub + image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/policy-executor-stub:latest + ports: + - 8785:8093 + restart: unless-stopped + profiles: + - policy-executor-stub + + prometheus: + container_name: prometheus + image: prom/prometheus:latest + ports: + - 9090:9090 + restart: always + volumes: + - ./config/prometheus.yml:/etc/prometheus/prometheus.yml + profiles: + - monitoring + + grafana: + image: grafana/grafana-oss:latest + user: "" + container_name: grafana + depends_on: + prometheus: + condition: service_started + ports: + - 3000:3000 + volumes: + - ./config/grafana/provisioning/:/etc/grafana/provisioning/ + - ./config/grafana/jvm-micrometer-dashboard.json:/var/lib/grafana/dashboards/jvm-micrometer-dashboard.json + - grafana:/var/lib/grafana + environment: + - GF_SECURITY_ADMIN_PASSWORD=admin + - GF_SERVER_DOMAIN:localhost + profiles: + - monitoring + + kafka-ui: + container_name: kafka-ui + image: provectuslabs/kafka-ui:latest + ports: + - 8089:8080 + environment: + DYNAMIC_CONFIG_ENABLED: 'true' + KAFKA_CLUSTERS_0_NAME: 'cps-kafka-local' + KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092 + profiles: + - monitoring + + jaeger-service: + container_name: jaeger-service + image: jaegertracing/all-in-one:latest + ports: + - 16686:16686 restart: unless-stopped + profiles: + - tracing + +volumes: + grafana: