#!/bin/sh
### BEGIN INIT INFO
# Provides:          puppet-dashboard
# Required-Start:    $syslog $remote_fs
# Should-Start:      $time ypbind smtp
# Required-Stop:     $syslog $remote_fs
# Should-Stop:       ypbind smtp
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: Puppet Dashboard Server
# Description:       Start Puppet Dashboard Server
### END INIT INFO

# Check for existence of needed config file and read it
DASHBOARD_CONFIG=/etc/sysconfig/puppet-dashboard

test -r $DASHBOARD_CONFIG || { echo "$DASHBOARD_CONFIG not existing";
	if [ "$1" = "stop" ]; then exit 0;
	else exit 6; fi; }

# Read config	
. $DASHBOARD_CONFIG

DASHBOARD_BIN="${DASHBOARD_HOME}/script/server"
PID_FILE=/var/run/puppet-dashboard.pid

. /etc/rc.status
rc_reset

case "$1" in
    start)
	echo -n "Starting puppet-dashboard "
	#  Workaround for not writing correct pid file
	# using -v :)
	/sbin/startproc -v -s -l /var/log/puppet/puppet-dashboard.log -u ${DASHBOARD_USER} ${DASHBOARD_BIN} -e ${DASHBOARD_ENVIRONMENT} -p ${DASHBOARD_PORT} > $PID_FILE
	rc_status -v
	;;
    stop)
	echo -n "Shutting down puppet-dashboard "
	/sbin/killproc -p $PID_FILE -SIGINT $DASHBOARD_BIN
	rc_status -v
	;;
    restart)
	## Stop the service and regardless of whether it was
	## running or not, start it again.
	$0 stop
	$0 start
	rc_status
	;;
    reload)
        ## Stupid but not implemented really
        $0 restart
        rc_status
        ;;
    status)
	echo -n "Checking for service puppet-dashboard "
	/sbin/checkproc -p $PID_FILE $DASHBOARD_BIN
	rc_status -v
	;;
    *)
	echo "Usage: $0 {start|stop|status|restart|reload}"
	exit 1
	;;
esac
rc_exit
