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