# Environment settings
# used by docker-compose AND by other shell scripts
# The name ".env" is required by docker-compose

# Following are ALSO used in demo/boot/portal_vm_init.sh
EP_IMG_NAME=onap/portal-app
SDK_IMG_NAME=onap/portal-sdk
DB_IMG_NAME=onap/portal-db
CDR_IMG_NAME=onap/music/cassandra_music
ZK_IMG_NAME=zookeeper
WMS_IMG_NAME=onap/portal-wms
# Deployed with portal; built elsewhere
CLI_IMG_NAME=onap/cli

# This is the first portion of the Docker image tag
# that is published to the ONAP registry.
PORTAL_VERSION=2.3.0

# This is used during builds and in docker-compose;
# it is never published to the ONAP registry.
PORTAL_TAG=casablanca

# Name of directory in apps container (NOT host)
WEBAPPS_DIR=/opt/apache-tomcat-8.0.37/webapps

# Required settings with default values.
# Export shell environment variables on ALL hosts.
LOGS_DIR=./logs
PROPS_DIR=./properties_simpledemo

# Optional settings with no defaults.
EXTRA_HOST_IP=""
EXTRA_HOST_NAME=""
# Export shell environment variables on hosts with no DNS;
# a line is added to docker container's /etc/hosts.
# For example:
#EXTRA_HOST_IP="-i 10.11.12.13"
#EXTRA_HOST_NAME="-n portal.api.simpledemo.onap.org"
