summaryrefslogtreecommitdiffstats
path: root/docker-compose/docker-compose.yml
blob: fe41fc4ffedd64774e823c7838e7074900c5bbb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# ============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.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================

services:

  ### docker-compose up -d -> run ALL services ###
  ### to disable notifications make notification.enabled to false & comment out kafka/zookeeper services ###

  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}
    healthcheck:
      test: ["CMD", "pg_isready"]
      interval: 30s
      timeout: 5s
      retries: 5

  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!}
      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

  ### 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:
      - "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

  ### 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.3.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

  init-db:
    build: ../../../docker-compose/initfile
    environment:
      CPS_CORE_PORT: ${CPS_CORE_PORT:-8883}
      CPS_CORE_MANAGEMENT_PORT: ${CPS_CORE_MANAGEMENT_PORT:-8887}
    volumes:
      - ./initfile:/initfile
      - ../../../cps-ncmp-service/src/main/resources/model/:/model
    depends_on:
      cps-and-ncmp:
        condition: service_started