# ============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:${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
   xacml-pdp:
      image: nexus3.onap.org:10001/onap/policy-xacml-pdp:${POLICY_XACML_PDP_VERSION}
      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
