#!/bin/bash -x

mkdir -p /config/jvb

if [[ -z $JVB_AUTH_PASSWORD ]]; then
    echo 'FATAL ERROR: JVB auth password must be set'
    exit 1
fi

OLD_JVB_AUTH_PASSWORD=passw0rd
if [[ "$JVB_AUTH_PASSWORD" == "$OLD_JVB_AUTH_PASSWORD" ]]; then
    echo 'FATAL ERROR: JVB auth password must be changed, check the README'
    exit 1
fi

if [ -n "$DEPLOY_POD_ID" ] ; then
    MUC_NICKNAME="$DEPLOY_NODE_DC-$DEPLOY_STAGE_ID-$DEPLOY_UNIT_ID-$DEPLOY_POD_ID"
else
    MUC_NICKNAME=$(uuidgen)
fi

export MUC_NICKNAME

export JVB_CONFIG="/config/jvb/sip-communicator.properties"
envsubst < /defaults/jvb/application.conf > /config/jvb/application.conf
envsubst < /defaults/jvb/discovery.env > /config/jvb/discovery.env

cp /defaults/jvb/logging.properties /config/jvb

chown -R jvb:jitsi /config/jvb
chown -R jvb:jitsi /var/log/telemost/jvb

# check DNS-records before service-discovery
DNS_RECORDS=$(/etc/yandex/selfdns-client/plugins/telemost)
if [[ -z $DNS_RECORDS ]]; then
    echo "ERROR: DNS_CHECK - could not get records to check"
    exit 2
else
    echo "${DNS_RECORDS}" | while read -r version name addr stuff; do
        getent hosts "${name}" | grep -q "${addr}" || {
            echo "ERROR: DNS_CHECK - could not resolve my name: ${name}"
            exit 2  ### skip discovery if any error!
        }
    done
fi

/usr/sbin/discovery.sh &>> /var/log/telemost/discovery.log
