X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docker-compose%2Fdocker-compose.yml;h=3dc54bbfc4e0e7bc899d47fd4a2674dc735e0431;hb=9f3ee9fea9e43a2247ba3c91a4c45dbbbc1fa8ad;hp=a2241bcc23a1f1d87b1635c5e453df6babf33d2c;hpb=f05a5032d369a9cf9052bf82ed62bad5cc4ee68b;p=cps.git diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index a2241bcc2..3dc54bbfc 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -1,6 +1,7 @@ # ============LICENSE_START======================================================= # Copyright (c) 2020 Pantheon.tech. # Modifications Copyright (C) 2021 Bell Canada. +# Modifications Copyright (C) 2022-2023 Nordix Foundation. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,60 +16,135 @@ # limitations under the License. # ============LICENSE_END========================================================= -version: "3.7" - services: - #cps-standalone: - # container_name: cps-service - # image: cps-service:${VERSION} - # volumes: - # - "./application.yml:/app/resources/application.yml" - # ports: - # - "8881:8080" - # environment: - # DB_HOST: ${DB_HOST} - # DB_USERNAME: ${DB_USERNAME} - # DB_PASSWORD: ${DB_PASSWORD} - # restart: unless-stopped - # depends_on: - # - dbpostgresql - #nf-proxy-standalone: - # container_name: cps-nf-proxy - # image: cps-nf-proxy:${VERSION} - # volumes: - # - "./application.yml:/app/resources/application.yml" - # ports: - # - "8882:8080" - # environment: - # DB_HOST: ${DB_HOST} - # DB_USERNAME: ${DB_USERNAME} - # DB_PASSWORD: ${DB_PASSWORD} - # restart: unless-stopped - # depends_on: - # - dbpostgresql + ### 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 ### - cps-and-nf-proxy: - container_name: cps-and-nf-proxy - image: cps-and-nf-proxy:${VERSION} - volumes: - - "./application.yml:/app/resources/application.yml" + dbpostgresql: + container_name: dbpostgresql + image: postgres:14.1-alpine + ports: + - ${DB_PORT:-5432}:5432 + environment: + POSTGRES_DB: cpsdb + POSTGRES_USER: ${DB_USERNAME:-cps} + POSTGRES_PASSWORD: ${DB_PASSWORD:-cps} + + cps-and-ncmp: + container_name: cps-and-ncmp + image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/cps-and-ncmp:${CPS_VERSION:-latest} ports: - - "8883:8080" + - ${CPS_CORE_PORT:-8883}:8080 + - ${CPS_CORE_MANAGEMENT_PORT:-8887}:8081 environment: - DB_HOST: ${DB_HOST} - DB_USERNAME: ${DB_USERNAME} - DB_PASSWORD: ${DB_PASSWORD} + CPS_USERNAME: ${CPS_CORE_USERNAME:-cpsuser} + CPS_PASSWORD: ${CPS_CORE_PASSWORD:-cpsr0cks!} + DB_HOST: ${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.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} restart: unless-stopped depends_on: - dbpostgresql - dbpostgresql: - container_name: dbpostgresql - image: postgres:12.4-alpine + ### if kafka is not required comment out zookeeper and kafka ### + zookeeper: + image: confluentinc/cp-zookeeper:6.2.1 + container_name: zookeeper ports: - - '5432:5432' + - '2181:2181' environment: - POSTGRES_DB: cpsdb - POSTGRES_USER: ${DB_USERNAME} - POSTGRES_PASSWORD: ${DB_PASSWORD} \ No newline at end of file + ZOOKEEPER_CLIENT_PORT: 2181 + + kafka: + image: confluentinc/cp-kafka:6.2.1 + container_name: kafka + ports: + - "19092:19092" + 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_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.4.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!} + 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_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 + profiles: + - dmi-service + + ncmp-dmi-plugin-stub: + container_name: ncmp-dmi-plugin-stub + image: wiremock/wiremock:2.33.2 + ports: + - ${DMI_PORT:-8783}:8080 + volumes: + - ../dmi-plugin-stub/mappings:/home/wiremock/mappings + - ../dmi-plugin-stub/files:/home/wiremock/__files + restart: unless-stopped + profiles: + - dmi-stub + + 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: