# # ===========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