# Copyright 2018 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:${POLICY_MARIADB_VER}
      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
   nexus:
      image: sonatype/nexus:2.14.8-01
      container_name: nexus
      hostname: nexus
   pap:
      image: nexus3.onap.org:10001/onap/policy-pe:${POLICY_ENGINE_VERSION}
      environment:
       - PRELOAD_POLICIES=${PRELOAD_POLICIES}
      container_name: pap
      depends_on: 
       - mariadb
      hostname: pap
      expose:
       - 8443
       - 9091
      command: pap
      volumes:
       - ${WORKSPACE}/scripts/policy/config/pe:/tmp/policy-install/config
   pdp:
      image: nexus3.onap.org:10001/onap/policy-pe:${POLICY_ENGINE_VERSION}
      container_name: pdp
      depends_on: 
       - pap
      hostname: pdp
      expose:
       - 8081
      command: pdp
      volumes:
       - ./config/pe:/tmp/policy-install/config
   brmsgw:
      image: nexus3.onap.org:10001/onap/policy-pe:${POLICY_ENGINE_VERSION}
      container_name: brmsgw
      depends_on: 
       - pap
      hostname: brmsgw
      command: brmsgw
      volumes:
       - ${WORKSPACE}/scripts/policy/config/pe:/tmp/policy-install/config
