# # ===========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-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===================================================== # version: '2' services: mariadb: image: ${CONTAINER_LOCATION}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: - ./db_migrator_policy_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: - message-router - 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 - 3904 - 6680 ports: - 30227:3904 api: image: ${CONTAINER_LOCATION}onap/policy-api:${POLICY_API_VERSION} container_name: policy-api depends_on: - policy-db-migrator hostname: policy-api ports: - 30440: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 - simulator - api hostname: policy-pap ports: - 30442: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', 'message-router', '3904', 'api', '6969' ] xacml-pdp: image: ${CONTAINER_LOCATION}onap/policy-xacml-pdp:${POLICY_XACML_PDP_VERSION} container_name: policy-xacml-pdp depends_on: - mariadb - simulator - pap hostname: policy-xacml-pdp ports: - 30441: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', 'message-router', '3904', 'pap', '6969' ] drools: image: ${CONTAINER_LOCATION}onap/policy-drools:${POLICY_DROOLS_PDP_VERSION} container_name: drools depends_on: - mariadb - simulator - pap hostname: drools ports: - 30217:6969 - 30216: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', 'message-router', '3904' ] drools-apps: image: ${CONTAINER_LOCATION}onap/policy-pdpd-cl:${POLICY_DROOLS_APPS_VERSION} container_name: drools-apps depends_on: - mariadb - simulator - pap - xacml-pdp hostname: drools-apps ports: - 30221:6969 - 30219: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-dmaap.conf entrypoint: /opt/app/policy/bin/wait_for_port.sh command: [ '-c', '/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot', 'mariadb', '3306', 'message-router', '3904', '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 - pap hostname: policy-apex-pdp ports: - 30237:6969 - 23324: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', 'message-router', '3904', '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: - 30238:6969 volumes: - ./config/distribution/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json:ro - ./distribution/config/temp/:/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', 'message-router', '3904', '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 - simulator hostname: policy-clamp-runtime-acm ports: - 30258: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', 'message-router', '3904' ] policy-clamp-ac-http-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_VERSION} container_name: policy-clamp-ac-http-ppnt depends_on: - simulator 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', 'message-router', '3904' ] policy-clamp-ac-k8s-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-k8s-ppnt:${POLICY_CLAMP_VERSION} container_name: policy-clamp-ac-k8s-ppnt depends_on: - simulator 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', 'message-router', '3904' ] policy-clamp-ac-pf-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-pf-ppnt:${POLICY_CLAMP_VERSION} container_name: policy-clamp-ac-pf-ppnt depends_on: - simulator - api hostname: policy-clamp-ac-pf-ppnt ports: - 30218: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', 'message-router', '3904', 'api', '6969' ] policy-clamp-ac-a1pms-ppnt: image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-a1pms-ppnt:${POLICY_CLAMP_VERSION} container_name: policy-clamp-ac-a1pms-ppnt depends_on: - simulator 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', 'message-router', '3904' ] policy-gui: image: ${CONTAINER_LOCATION}onap/policy-gui:latest container_name: policy-gui depends_on: - policy-clamp-backend hostname: policy-gui environment: CLAMP_URL: http://policy-clamp-backend:8445 CLAMP_DISABLE_SSL_VALIDATION: "true" ports: - 2445:2445 volumes: - ./config/policy-gui/application.yaml:/opt/app/policy/gui/etc/application.yml - ./config/policy-gui/logback.xml:/opt/app/policy/gui/etc/logback.xml:ro - ./wait_for_port.sh:/opt/app/policy/gui/bin/wait_for_port.sh:ro entrypoint: ./policy-gui.sh working_dir: /opt/app/policy/gui/bin command: ./policy-gui.sh policy-clamp-backend: image: ${CONTAINER_LOCATION}onap/policy-clamp-backend:${POLICY_CLAMP_VERSION} container_name: policy-clamp-backend depends_on: - policy-clamp-runtime-acm - distribution hostname: policy-clamp-backend environment: POLICY_API_HOST: api POLICY_PAP_HOST: pap MARIADB_HOST: mariadb RUNTIME_HOST: policy-clamp-runtime-acm ports: - 8445:8445 volumes: - ./config/clamp/ClampBackend.properties:/opt/policy/clamp/config/ClampBackend.properties:ro - ./config/clamp/logback-backend.xml:/opt/policy/clamp/config/logback.xml:ro working_dir: /opt/policy/clamp command: java -Djava.security.egd=file:/dev/./urandom -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=75 -jar ./policy-clamp-backend.jar --spring.config.name=ClampBackend --spring.config.location=/opt/policy/clamp/config/ClampBackend.properties prometheus: image: prom/prometheus:v2.32.1 container_name: prometheus hostname: prometheus ports: - 30259:9090 volumes: - ./metrics/prometheus.yml:/etc/prometheus/prometheus.yml grafana: image: grafana/grafana-oss:8.3.4 container_name: grafana depends_on: - prometheus hostname: grafana ports: - 30269: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 node-exporter: image: prom/node-exporter:latest container_name: node-exporter restart: unless-stopped volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - '--path.procfs=/host/proc' - '--path.rootfs=/rootfs' - '--path.sysfs=/host/sys' - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)' expose: - 9100