#!/bin/bash
# Action -Run
set -eu

ABOT_DIR=/var/lib/abot-epc-basic

S6ASERVER_ORIGINHOST=$(action-get s6aserver-originhost)
S6ASERVER_ORIGINREALM=$(action-get s6aServer-originrealm)
S6ASERVER_DESTHOST=$(action-get s6aserver-desthost)
S6ASERVER_CLIENT_IP=$(action-get s6aserver-clientip)


if [ ! -z "$S6ASERVER_ORIGINHOST" ]; then
  juju-log "Setting S6aServer_OriginHost=$S6ASERVER_ORIGINHOST"
  sed -i "s/S6aServer.OriginHost=[^ ]*/S6aServer.OriginHost=$S6ASERVER_ORIGINHOST/" ${ABOT_DIR}/config/ABotConfig.properties
  if [ `grep -c $S6ASERVER_ORIGINHOST /etc/hosts` == "0" ]; then
     public_hostname=$(unit-get private-address)
     juju-log "Public Hostname: $public_hostname"
     public_ip_address=`dig +short $public_hostname`
     juju-log "Inserting originhost($S6ASERVER_ORIGINHOST) into /etc/hosts file for IP $public_ip_address"
     echo "$public_ip_address  $S6ASERVER_ORIGINHOST" >> /etc/hosts
  fi
fi

if [ ! -z "$S6ASERVER_ORIGINREALM" ]; then
  juju-log "S6aServer_OriginRealm=$S6ASERVER_ORIGINREALM"
  sed -i "s/S6aServer.OriginRealm=[^ ]*/S6aServer.OriginRealm=$S6ASERVER_ORIGINREALM/" ${ABOT_DIR}/config/ABotConfig.properties
fi


if [ ! -z "$S6ASERVER_DESTHOST" ]; then
  juju-log "S6aServer_DestHost=$S6ASERVER_DESTHOST"
  sed -i "s/S6aServer.DestHost=[^ ]*/S6aServer.DestHost=$S6ASERVER_DESTHOST/" ${ABOT_DIR}/config/ABotConfig.properties
fi

if [ ! -z "$S6ASERVER_CLIENT_IP" ]; then
  juju-log "S6aServer_Client_IP=$S6ASERVER_CLIENT_IP"
  #Get the destination host
  S6ASERVER_DEST_HOST=`grep "S6aServer.DestHost" ${ABOT_DIR}/config/config.properties | cut -d= -f2`
  if [ ! -z $S6ASERVER_DEST_HOST ]; then
    if [ `grep -c  $S6ASERVER_CLIENT_IP  /etc/hosts` == "0" ]; then
      juju-log "Setting $S6ASERVER_CLIENT_IP against $S6ASERVER_DEST_HOST in /etc/hosts"
      echo "$S6ASERVER_CLIENT_IP  $S6ASERVER_DEST_HOST" >> /etc/hosts
    fi
  fi
fi
