# ============LICENSE_START=======================================================
#  Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
# ================================================================================
# 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.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
version: '2'
networks:
  default:
    driver: bridge
services:
   mariadb:
      image: mariadb:10.2.14
      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
      container_name: policy-pap
      depends_on:
       - mariadb
       - message-router
      hostname: policy-pap
   api:
      image: nexus3.onap.org:10001/onap/policy-api
      container_name: policy-api
      depends_on:
       - mariadb
      hostname: policy-api
   xacml-pdp:
      image: nexus3.onap.org:10001/onap/policy-xacml-pdp
      container_name: policy-xacml-pdp
      depends_on:
       - mariadb
       - message-router
       - pap
      hostname: policy-xacml-pdp
      ports:
       - "6969:6969"
   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
        - xacml-pdp
      hostname: policy-wait-all
      command:
        mariadb:3306
        message-router:3904
        api:6969
        pap:6969
        xacml-pdp:6969
