#
# ===========LICENSE_START====================================================
#  Copyright 2023 Nordix Foundation.
# ============================================================================
# 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.
# ============LICENSE_END=====================================================
#
version: '2'
services:
   policy-gui:
     image: ${CONTAINER_LOCATION}onap/policy-gui:latest
     container_name: policy-gui
     depends_on:
      - policy-clamp-backend
     hostname: policy-gui
     environment:
       CLAMP_URL: http://policy-clamp-backend:8445
       CLAMP_DISABLE_SSL_VALIDATION: "true"
     ports:
      - 2445:2445
     volumes:
      - ./config/policy-gui/application.yaml:/opt/app/policy/gui/etc/application.yml
      - ./config/policy-gui/logback.xml:/opt/app/policy/gui/etc/logback.xml:ro
      - ./wait_for_port.sh:/opt/app/policy/gui/bin/wait_for_port.sh:ro
     entrypoint: ./policy-gui.sh
     working_dir: /opt/app/policy/gui/bin
     command: ./policy-gui.sh
   policy-clamp-backend:
     image: ${CONTAINER_LOCATION}onap/policy-clamp-backend:latest
     container_name: policy-clamp-backend
     depends_on:
      - policy-clamp-runtime-acm
      - distribution
     hostname: policy-clamp-backend
     environment:
        POLICY_API_HOST: api
        POLICY_PAP_HOST: pap
        MARIADB_HOST: mariadb
        RUNTIME_HOST: policy-clamp-runtime-acm
     ports:
      - 8445:8445
     volumes:
      - ./config/clamp/ClampBackend.properties:/opt/policy/clamp/config/ClampBackend.properties:ro
      - ./config/clamp/logback-backend.xml:/opt/policy/clamp/config/logback.xml:ro
     working_dir: /opt/policy/clamp
     command: java
      -Djava.security.egd=file:/dev/./urandom
      -XX:MinRAMPercentage=50
      -XX:MaxRAMPercentage=75
      -jar ./policy-clamp-backend.jar
      --spring.config.name=ClampBackend
      --spring.config.location=/opt/policy/clamp/config/ClampBackend.properties
 