# ============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:2.0.0-SNAPSHOT-latest
      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:2.0.0-SNAPSHOT-latest 
      container_name: policy-xacml-pdp
      depends_on:
       - mariadb
       - message-router
       - pap
       - api
      hostname: policy-xacml-pdp
      ports:
       - "6969:6969"
   start_dependencies:
      image: dadarek/wait-for-dependencies
      container_name: policy-wait
      depends_on:
        - mariadb
        - message-router
      hostname: policy-wait
      command:
        - mariadb:3306
        - message-router:3904
