# Copyright 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.
version: '2'
services:
   mariadb:
      image: mariadb:10.2.14
      container_name: mariadb
      hostname: mariadb
      command: ['--lower-case-table-names=1', '--wait_timeout=28800']
      env_file: 
         - ${WORKSPACE}/scripts/policy/config/db/db.conf
      volumes:
         - ${WORKSPACE}/scripts/policy/config/db:/docker-entrypoint-initdb.d
      expose:
       - 3306
   drools:
      image: nexus3.onap.org:10001/onap/policy-pdpd-cl:1.4-SNAPSHOT-latest
      container_name: drools
      depends_on: 
       - mariadb
      hostname: drools
      expose:
       - 6969
       - 9696
      volumes:
       - ${WORKSPACE}/scripts/policy/config/drools:/tmp/policy-install/config
      environment:
       - DEBUG=y
   start_dependencies:
      image: dadarek/wait-for-dependencies
      container_name: policy-wait
      depends_on:
       - mariadb
      hostname: policy-wait
      command: mariadb:3306

