# Init script for starting up ACS Nettle node.js server
#
# chkconfig: 2345 95 10
# description: Starts and stops the ACS Nettle node.js server
#

# Source function library.
. /etc/rc.d/init.d/functions

# Get config.
. /etc/sysconfig/network

# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0

export PATH=/usr/local/bin:$PATH

USER=ec2-user
INSTALL_USER=stratus
INSTALL_PASS=cl0ud!
STRATUS_HOST=admin.cloudservices.appcelerator.com

USER_HOME=/home/$USER
NETTLE_HOME=$USER_HOME/nettle

install(){
        if [ ! -f /tmp/nettle.tar.gz ]; then
           rm -rf /tmp/nettle*
           curl --user $INSTALL_USER:$INSTALL_PASS http://$STRATUS_HOST/node-boot-install --output /tmp/nettle.tar.gz --silent
           rm -rf $NETTLE_HOME
           su - $USER -s /bin/sh -c "mkdir $NETTLE_HOME; cd $NETTLE_HOME; tar xfz /tmp/nettle.tar.gz"
        fi
}

start(){
        action $"Starting nettle: " $startup
        install
        su - ec2-user -s /bin/sh -c "/usr/local/bin/forever start $NETTLE_HOME/bin/nettle run -p 8001 --report 10 --no-colors --dates"
        RETVAL=$?
}

stop(){
        action $"Stopping nettle: " $shutdown
        su - ec2-user -s /bin/sh -c "/usr/local/bin/forever stop $NETTLE_HOME/bin/nettle"
        RETVAL=$?
}

restart(){
    stop
    start
}


# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        su - ec2-user -s /bin/sh -c "/usr/local/bin/forever list"
        ;;
  restart)
        restart
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart}"
        exit 1
esac

exit 0
