blob: 4fe400247f93eb8b2ac10a0bb234da9077fe24a5 [file] [log] [blame]
#
# ===========LICENSE_START====================================================
# Copyright (C) 2023-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.
# 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=====================================================
#
version: '2'
services:
postgres:
image: nexus3.onap.org:10001/library/postgres:${POLICY_POSTGRES_VER}
container_name: postgres
hostname: postgres
command: [ '--idle_in_transaction_session_timeout=28800' ]
env_file: config/db-pg/db-pg.conf
volumes:
- ./config/db-pg:/docker-entrypoint-initdb.d:ro
expose:
- 5432
ports:
- "5432:5432"
policy-db-migrator:
image: ${CONTAINER_LOCATION}onap/policy-db-migrator:${POLICY_DOCKER_VERSION}
container_name: policy-db-migrator
hostname: policy-db-migrator
depends_on:
- postgres
expose:
- 6824
env_file: config/db-pg/db-pg.conf
environment:
SQL_DB: policyadmin
SQL_HOST: postgres
PGPASSWORD: policy_user
volumes:
- ./config/db-migrator/init_pg.sh:/opt/app/policy/bin/db_migrator_policy_init_pg.sh:ro
- ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
entrypoint: /opt/app/policy/bin/wait_for_port.sh
command: [
'-c',
'/opt/app/policy/bin/db_migrator_policy_init_pg.sh',
'postgres', '5432'
]
simulator:
image: ${CONTAINER_LOCATION}onap/policy-models-simulator:${POLICY_MODELS_VERSION}
container_name: simulator
hostname: simulator
networks:
default:
aliases:
- aai-sim
- grpc-sim
- sdnc-sim
- so-sim
- vfc-sim
volumes:
- ./config/sim-all:/opt/app/policy/simulators/etc/mounted:ro
- ./config/sim-all/logback.xml:/opt/app/policy/simulators/etc/mounted/logback.xml:ro
expose:
- 6666
- 6668
- 6669
- 6670
- 6680
ports:
- ${DMAAP_PORT}:3904
api:
image: ${CONTAINER_LOCATION}onap/policy-api:${POLICY_API_VERSION}
container_name: policy-api
depends_on:
- policy-db-migrator
hostname: policy-api
ports:
- ${API_PORT}:6969
volumes:
- ./config/api/apiParametersPostgres.yaml:/opt/app/policy/api/etc/apiParameters.yaml:ro
- ./config/api/logback.xml:/opt/app/policy/api/etc/logback.xml:ro
- ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
entrypoint: ./wait_for_port.sh
command: [
'-c', './policy-api.sh',
'postgres', '5432',
'policy-db-migrator', '6824'
]
pap:
image: ${CONTAINER_LOCATION}onap/policy-pap:${POLICY_PAP_VERSION}
container_name: policy-pap
depends_on:
- postgres
- kafka
- api
hostname: policy-pap
ports:
- ${PAP_PORT}:6969
volumes:
- ./config/pap/papParametersPostgres.yaml:/opt/app/policy/pap/etc/papParameters.yaml:ro
- ./config/${PROJECT}/groups.json:/opt/app/policy/pap/etc/mounted/groups.json:ro
- ./config/pap/logback.xml:/opt/app/policy/pap/etc/logback.xml:ro
- ./wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
entrypoint: ./wait_for_port.sh
command: [
'-c', './policy-pap.sh',
'postgres', '5432',
'kafka', '9092',
'api', '6969'
]
apex-pdp:
image: ${CONTAINER_LOCATION}onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION}
container_name: policy-apex-pdp
depends_on:
- postgres
- simulator
- kafka
- pap
hostname: policy-apex-pdp
ports:
- ${APEX_PORT}:6969
- ${APEX_EVENTS_PORT}:23324
volumes:
- ./config/apex-pdp/OnapPfConfig.json:/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json:ro
- ./config/apex-pdp/logback.xml:/opt/app/policy/apex-pdp/etc/logback.xml:ro
- ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
entrypoint: /opt/app/policy/bin/wait_for_port.sh
command: [
'-c', '/opt/app/policy/apex-pdp/bin/apexOnapPf.sh -c /opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json',
'postgres', '5432',
'kafka', '9092',
'pap', '6969'
]
prometheus:
image: nexus3.onap.org:10001/prom/prometheus:latest
container_name: prometheus
hostname: prometheus
ports:
- ${PROMETHEUS_PORT}:9090
volumes:
- ./metrics/prometheus.yml:/etc/prometheus/prometheus.yml
zookeeper:
image: confluentinc/cp-zookeeper:latest
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2181:2181
kafka:
image: confluentinc/cp-kafka:latest
container_name: kafka
depends_on:
- zookeeper
ports:
- 29092:29092
- 9092:9092
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