#!/bin/bash

# Deploy httpd proxy

# Exit on any errors
set -e

source "/etc/openshift/node.conf"
source ${CARTRIDGE_BASE_PATH}/abstract/info/lib/util
source ${CARTRIDGE_BASE_PATH}/abstract/info/lib/apache
source ${CARTRIDGE_BASE_PATH}/abstract/info/lib/network

function print_help {
    echo "Usage: $0 app-name namespace uuid"
    echo "Deploy httpd proxy for an application"

    echo "$0 $@" | logger -p local0.notice -t openshift_origin_deploy_httpd_proxy
    exit 1
}

while getopts 'd' OPTION
do
    case $OPTION in
        d) set -x
        ;;
        ?) print_help
        ;;
    esac
done

[ $# -eq 3 ] || print_help

namespace=`basename $2`
application="$1"
uuid=$3

APP_HOME="$GEAR_BASE_DIR/$uuid"

cartridge_type=$(get_cartridge_name_from_path)

CART_INFO_DIR=$CARTRIDGE_BASE_PATH/${cartridge_type}/info

. $APP_HOME/.env/OPENSHIFT_INTERNAL_IP

idle=false
if oo-frontend-check-idle --with-container-uuid "$uuid" --with-container-name "$application" --with-namespace "$namespace"
then
  idle=true
fi

#
# Create virtualhost definition for apache
#
export CART_INFO_DIR
if [ -f $CART_INFO_DIR/bin/deploy_httpd_proxy.sh ]
then
  $CART_INFO_DIR/bin/deploy_httpd_proxy.sh $application $namespace $uuid $OPENSHIFT_INTERNAL_IP
else
  $CARTRIDGE_BASE_PATH/abstract/info/bin/deploy_httpd_proxy.sh $application $namespace $uuid $OPENSHIFT_INTERNAL_IP
fi

if $idle
then
  oo-idler -u $uuid
fi
