# Copyright (C) 2019 Nordix Foundation.
# Modifications Copyright (C) 2019 AT&T Intellectual Property.
#
# 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.
version: '2'
networks:
  default:
    driver: bridge
services:
   mariadb:
      image: mariadb:${POLICY_MARIADB_VER}
      container_name: mariadb
      hostname: mariadb
      command: ['--lower-case-table-names=1', '--wait_timeout=28800']
      env_file: config/db/db.conf
      volumes:
         - ./config/db:/docker-entrypoint-initdb.d
      ports:
       - "3306:3306"
   message-router:
      image: dmaap/simulator
      container_name: dmaap-simulator
      hostname: dmaap-simulator
      ports:
       - "3904:3904"
   pap:
      image: nexus3.onap.org:10001/onap/policy-pap:${POLICY_PAP_VERSION}
      container_name: policy-pap
      depends_on:
       - mariadb
       - message-router
      hostname: policy-pap

   api:
      image: nexus3.onap.org:10001/onap/policy-api:${POLICY_API_VERSION}
      container_name: policy-api
      depends_on:
       - mariadb
      hostname: policy-api
   apex:
      image: nexus3.onap.org:10001/onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION}
      container_name: policy-apex-pdp
      depends_on:
       - mariadb
       - message-router
       - pap
      hostname: policy-apex-pdp
      command: ['/opt/app/policy/apex-pdp/bin/apexOnapPf.sh', '-c', '/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json']

      ports:
       - "6969:6969"
       - "23324:23324"
   start_dependencies:
      image: dadarek/wait-for-dependencies
      environment:
        TIMEOUT_LENGTH: 60
      container_name: policy-wait
      depends_on:
        - mariadb
        - message-router
      hostname: policy-wait
      command:
        mariadb:3306
        message-router:3904
   start_all:
      image: dadarek/wait-for-dependencies
      environment:
        TIMEOUT_LENGTH: 60
      container_name: policy-wait-all
      depends_on:
        - mariadb
        - message-router
        - api
        - pap
        - apex
      hostname: policy-wait-all
      command:
        mariadb:3306
        message-router:3904
        api:6969
        pap:6969
        apex:6969
