# 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=v2.2.0

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

# 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"
