#!/bin/sh
# PROVIDE: bosun
# REQUIRE: DAEMON NETWORKING
# BEFORE: LOGIN
# KEYWORD: shutdown
# Add the following lines to /etc/rc.conf to enable bosunb:
# bosun_enable="YES"
#
# bosun_enable (bool): Set to YES to enable bosun
# Default: NO
# bosun_conf (str): bosun configuration file
# Default: %%ETCDIR%%/${name}.conf
# bosun_user (str): bosun daemon user
# Default: %%USERS%%
# bosun_group (str): bosun daemon group
# Default: %%GROUPS%%
# bosun_flags (str): Extra flags passed to bosun
# Default: empty
. /etc/rc.subr
PATH=${PATH}:%%LOCALBASE%%/sbin:%%LOCALBASE%%/bin
name="bosun"
rcvar=bosun_enable
load_rc_config $name
: ${bosun_enable:="NO"}
: ${bosun_user:="%%USERS%%"}
: ${bosun_group:="%%GROUPS%%"}
: ${bosun_conf:="%%ETCDIR%%/${name}.conf"}
: ${bosun_flags}:=""
: ${bosun_options:="${bosun_flags} -c ${bosun_conf}"}
logfile="%%BOSUN_LOGDIR%%/${name}.log"
pidfile="/var/run/${name}.pid"
command=/usr/sbin/daemon
start_precmd="bosun_prestart"
start_cmd="bosun_start"
stop_cmd="bosun_stop"
bosun_prestart()
{
install -d -o ${bosun_user} -g ${bosun_group} -m750 %%BOSUN_LOGDIR%%
}
bosun_start()
{
echo "Starting ${name}"
/usr/sbin/daemon -fcr -P ${pidfile} -u ${bosun_user} -o ${logfile} \
%%PREFIX%%/bin/${name} ${bosun_options}
}
bosun_stop()
{
pid=$(check_pidfile $pidfile $command)
if [ -n "${pid}" ]; then
echo "Stopping ${name} (pid=${pid})"
kill -- -${pid}
wait_for_pids ${pid}
else
echo "${name} isn't running"
fi
}
run_rc_command "$1"