# # ===========LICENSE_START==================================================== # Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. # Modifications Copyright (C) 2021 Bell Canada. All rights reserved. # Modification Copyright 2021-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: mariadb: image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER} container_name: mariadb hostname: mariadb command: ['--lower-case-table-names=1', '--wait_timeout=28800', '--default-authentication-plugin=mysql_native_password'] env_file: ./config/db/db.conf volumes: - ./config/db:/docker-entrypoint-initdb.d:ro - ./config/clamp/policy-clamp-create-tables.sql:/tmp/policy-clamp-create-tables.sql ports: - "3306:3306" policy-db-migrator: image: ${CONTAINER_LOCATION}onap/policy-db-migrator:${POLICY_DOCKER_VERSION} container_name: policy-db-migrator hostname: policy-db-migrator depends_on: - mariadb expose: - 6824 env_file: ./config/db/db.conf environment: SQL_DB: policyadmin SQL_HOST: mariadb volumes: - ./config/db-migrator/init.sh:/opt/app/policy/bin/db_migrator_policy_init.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.sh', 'mariadb', '3306' ] 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: - ${SIMULATOR_PORT}:6666 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/apiParameters.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', 'mariadb', '3306', 'policy-db-migrator', '6824' ] pap: image: ${CONTAINER_LOCATION}onap/policy-pap:${POLICY_PAP_VERSION} container_name: policy-pap depends_on: - mariadb - kafka - api hostname: policy-pap ports: - ${PAP_PORT}:6969 volumes: - ./config/pap/papParameters.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', 'mariadb', '3306', 'kafka', '9092', 'api', '6969' ] xacml-pdp: image: ${CONTAINER_LOCATION}onap/policy-xacml-pdp:${POLICY_XACML_PDP_VERSION} container_name: policy-xacml-pdp depends_on: - mariadb - kafka - pap hostname: policy-xacml-pdp ports: - ${XACML_PORT}:6969 - "30999:3904" volumes: - ./config/xacml-pdp/defaultConfig.json:/opt/app/policy/pdpx/etc/defaultConfig.json:ro - ./config/xacml-pdp/logback.xml:/opt/app/policy/pdpx/etc/logback.xml:ro - ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro entrypoint: ./wait_for_port.sh command: [ '-c', './policy-pdpx.sh', 'mariadb', '3306', 'kafka', '9092', 'pap', '6969' ] drools-pdp: image: ${CONTAINER_LOCATION}onap/policy-drools:${POLICY_DROOLS_PDP_VERSION} container_name: drools depends_on: - mariadb - kafka - pap hostname: drools ports: - ${DROOLS_PORT}:6969 - ${DROOLS_TELEMETRY_PORT}:9696 volumes: - ./config/drools-pdp/custom:/tmp/policy-install/config:ro - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro env_file: - ./config/drools-pdp/env/base.conf entrypoint: /opt/app/policy/bin/wait_for_port.sh command: [ '-c', '/opt/app/policy/bin/pdpd-entrypoint.sh boot', 'mariadb', '3306', 'kafka', '9092' ] drools-applications: image: ${CONTAINER_LOCATION}onap/policy-pdpd-cl:${POLICY_DROOLS_APPS_VERSION} container_name: drools-apps depends_on: - mariadb - simulator - kafka - pap - xacml-pdp hostname: drools-apps ports: - ${DROOLS_APPS_PORT}:6969 - ${DROOLS_APPS_TELEMETRY_PORT}:9696 volumes: - ./config/drools-applications/custom:/tmp/policy-install/config:ro - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro env_file: - ./config/drools-applications/env/base.conf - ./config/drools-applications/env/feature-healthcheck.conf - ./config/drools-applications/env/feature-pooling-messages.conf entrypoint: /opt/app/policy/bin/wait_for_port.sh command: [ '-c', '/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot', 'mariadb', '3306', 'kafka', '9092', 'pap', '6969', 'aai-sim', '6666', 'sdnc-sim', '6668', 'so-sim', '6669', 'vfc-sim', '6670' ] apex-pdp: image: ${CONTAINER_LOCATION}onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION} container_name: policy-apex-pdp depends_on: - mariadb - 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', 'mariadb', '3306', 'kafka', '9092', 'pap', '6969' ] distribution: image: ${CONTAINER_LOCATION}onap/policy-distribution:${POLICY_DISTRIBUTION_VERSION} container_name: policy-distribution depends_on: - mariadb - api - pap - apex-pdp hostname: policy-distribution ports: - ${DIST_PORT}:6969 volumes: - ./config/distribution/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json:ro - /tmp/distribution/:/opt/app/policy/distribution/etc/temp/:ro - ./config/distribution/logback.xml:/opt/app/policy/distribution/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', './policy-dist.sh', 'mariadb', '3306', 'kafka', '9092', 'pap', '6969', 'apex-pdp', '6969' ] policy-clamp-runtime-acm: image: ${CONTAINER_LOCATION}onap/policy-clamp-runtime-acm:${POLICY_CLAMP_VERSION} container_name: policy-clamp-runtime-acm depends_on: - mariadb - kafka - policy-clamp-ac-http-ppnt - policy-clamp-ac-k8s-ppnt - policy-clamp-ac-pf-ppnt - policy-clamp-ac-sim-ppnt - apex-pdp hostname: policy-clamp-runtime-acm ports: - ${ACM_PORT}:6969 volumes: - ./config/clamp/AcRuntimeParameters.yaml:/opt/app/policy/clamp/etc/AcRuntimeParameters.yaml - ./config/clamp/logback.xml:/opt/app/policy/clamp/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', './acm-runtime.sh', 'mariadb', '3306', 'kafka', '9092', 'policy-clamp-ac-http-ppnt', '6969', 'policy-clamp-ac-k8s-ppnt', '6969', 'policy-clamp-ac-pf-ppnt', '6969', 'apex-pdp', '6969' ] policy-clamp-ac-http-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_PPNT_VERSION} container_name: policy-clamp-ac-http-ppnt depends_on: - kafka hostname: policy-clamp-ac-http-ppnt ports: - "30290:6969" volumes: - ./config/clamp/HttpParticipantParameters.yaml:/opt/app/policy/clamp/etc/HttpParticipantParameters.yaml - ./config/clamp/logback.xml:/opt/app/policy/clamp/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', './http-participant.sh', 'kafka', '9092' ] policy-clamp-ac-k8s-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-k8s-ppnt:${POLICY_CLAMP_PPNT_VERSION} container_name: policy-clamp-ac-k8s-ppnt depends_on: - kafka hostname: policy-clamp-ac-k8s-ppnt ports: - "30295:6969" volumes: - ./config/clamp/KubernetesParticipantParameters.yaml:/opt/app/policy/clamp/etc/KubernetesParticipantParameters.yaml - ./config/clamp/logback.xml:/opt/app/policy/clamp/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', './kubernetes-participant.sh', 'kafka', '9092' ] policy-clamp-ac-pf-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-pf-ppnt:${POLICY_CLAMP_PPNT_VERSION} container_name: policy-clamp-ac-pf-ppnt depends_on: - kafka - api hostname: policy-clamp-ac-pf-ppnt ports: - ${POLICY_PARTICIPANT_PORT}:6969 volumes: - ./config/clamp/PolicyParticipantParameters.yaml:/opt/app/policy/clamp/etc/PolicyParticipantParameters.yaml:ro - ./config/clamp/logback.xml:/opt/app/policy/clamp/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', './policy-participant.sh', 'kafka', '9092', 'api', '6969' ] policy-clamp-ac-a1pms-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-a1pms-ppnt:${POLICY_CLAMP_PPNT_VERSION} container_name: policy-clamp-ac-a1pms-ppnt depends_on: - kafka hostname: policy-clamp-ac-a1pms-ppnt ports: - "30296:6969" volumes: - ./config/clamp/A1pmsParticipantParameters.yaml:/opt/app/policy/clamp/etc/A1pmsParticipantParameters.yaml:ro - ./config/clamp/logback.xml:/opt/app/policy/clamp/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', './a1pms-participant.sh', 'kafka', '9092' ] policy-clamp-ac-kserve-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-kserve-ppnt:${POLICY_CLAMP_PPNT_VERSION} container_name: policy-clamp-ac-kserve-ppnt depends_on: - kafka hostname: policy-clamp-ac-kserve-ppnt ports: - "30297:6969" volumes: - ./config/clamp/KserveParticipantParameters.yaml:/opt/app/policy/clamp/etc/KserveParticipantParameters.yaml:ro - ./config/clamp/logback.xml:/opt/app/policy/clamp/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', './kserve-participant.sh', 'kafka', '9092' ] policy-clamp-ac-sim-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-sim-ppnt:${POLICY_CLAMP_VERSION} container_name: policy-clamp-ac-sim-ppnt depends_on: - kafka hostname: policy-clamp-ac-sim-ppnt ports: - ${SIM_PARTICIPANT_PORT}:6969 volumes: - ./config/clamp/SimulatorParticipantParameters.yaml:/opt/app/policy/clamp/etc/SimulatorParticipantParameters.yaml:ro - ./config/clamp/logback.xml:/opt/app/policy/clamp/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', './sim-participant.sh', 'kafka', '9092' ] 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 grafana: image: nexus3.onap.org:10001/grafana/grafana:latest container_name: grafana depends_on: - prometheus hostname: grafana ports: - ${GRAFANA_PORT}:3000 volumes: - ./metrics/dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml - ./metrics/datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yaml - ./metrics/dashboards:/var/lib/grafana/dashboards zookeeper: image: confluentinc/cp-zookeeper:latest container_name: zookeeper 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