#
# ===========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:
         - ./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:
                  - 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:
       - ${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/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:
       - ${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',
        '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:
       - ${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',
        '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:
       - ${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',
        '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:
       - ${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-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:
       - ${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',
        '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:
       - ${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',
        '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:
       - ${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',
        '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:
       - ${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',
        '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-clamp-ac-kserve-ppnt:
      image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-kserve-ppnt:${POLICY_CLAMP_VERSION}
      container_name: policy-clamp-ac-kserve-ppnt
      depends_on:
       - simulator
      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',
        'message-router', '3904'
        ]
   prometheus:
      image: ${CONTAINER_LOCATION}prom/prometheus:latest
      container_name: prometheus
      hostname: prometheus
      ports:
       - ${PROMETHEUS_PORT}:9090
      volumes:
       - ./metrics/prometheus.yml:/etc/prometheus/prometheus.yml
   grafana:
      image: ${CONTAINER_LOCATION}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
