#!/bin/bash

# - Pass "run" to execute script and run Eltex Polly.
# - Pass nothing if only need to import variables.

HTTP_PORT=9089
GRPC_PORT=9088

CONFIG_DIR="/etc/eltex-polly"
APP_CONFIG="$CONFIG_DIR/application.conf"
LOG4J_CONFIG="$CONFIG_DIR/log4j2.xml"

JAVA=/usr/bin/java
JAVA_INIT_HEAP=16m
JAVA_MAX_HEAP=128m
JAVA_OPTS=

if [[ -e "/etc/default/eltex-polly" ]]; then
    source "/etc/default/eltex-polly"
fi

# -Djava.security.egd is used to workaround the hanging SecureRandom, see https://wiki.apache.org/tomcat/HowTo/FasterStartUp#Entropy_Source
JAVA_OPTS="${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -Xms${JAVA_INIT_HEAP} -Xmx${JAVA_MAX_HEAP} -Dfile.encoding=UTF-8"

JAVA_ARGS="--server.port=${HTTP_PORT} --grpc.port=${GRPC_PORT} --logging.config=${LOG4J_CONFIG} --config.files=${APP_CONFIG}"

JAR="/usr/share/eltex-polly/polly-starter.war"
RUN_ARGS="${JAVA_OPTS} -jar ${JAR} ${JAVA_ARGS}"

if [[ $1 = "run" ]]; then
    exec ${JAVA} ${RUN_ARGS}
fi
