cloudfoundry/stratos

View on GitHub
deploy/stratos-ui-release/jobs/backend/templates/backend_ctl.erb

Summary

Maintainability
Test Coverage
#!/bin/bash

RUN_DIR="/var/vcap/sys/run/backend"
LOG_DIR="/var/vcap/sys/log/backend"
PIDFILE="${RUN_DIR}/backend.pid"
CONFIG_DIR="/var/vcap/jobs/backend/config"

if [ ! -d ${RUN_DIR} ]; then
  mkdir -p ${RUN_DIR}
fi

if [ ! -d ${LOG_DIR} ]; then
  mkdir -p ${LOG_DIR}
fi

source /var/vcap/packages/utils/syslog_utils.sh
source /var/vcap/packages/utils/pid_utils.sh

if [ ! -d ${LOG_DIR} ]; then
  mkdir ${LOG_DIR}
fi
tee_output_to_sys_log_and_file "${LOG_DIR}" "$(basename "$0")"

function setup_environment() {
  mkdir -p "${RUN_DIR}"
}

case $1 in

  start)
    setup_environment
    pid_guard "$PIDFILE" "Nginx"

    cp -r $CONFIG_DIR/* /var/vcap/packages/backend/

    cd /var/vcap/packages/backend/
    
    chmod +x portal-proxy
    echo $$ > "$PIDFILE"

    exec /var/vcap/packages/backend/portal-proxy

    ;;

  stop)
    sigkill_on_timeout=0
    timeout=0
    kill_and_wait "${PIDFILE}" "${timeout}" "${sigkill_on_timeout}"

    ;;

  *)
    echo "Usage: backend_ctl {start|stop}"

    ;;

esac