#!/bin/sh
#
# $NetBSD: carbon-aggregator.sh,v 1.1 2015/12/11 21:40:50 riz Exp $
#
# PROVIDE: carbon-aggregator
# REQUIRE: DAEMON
# KEYWORD: shutdown

if [ -f /etc/rc.subr ]; then
	. /etc/rc.subr
fi

name="carbon_aggregator"
rcvar=$name
command="/usr/pkg/bin/carbon-aggregator.py"
config="--config=/usr/pkg/etc/graphite/carbon.conf"
graphite_user="graphite"
graphite_group="graphite"
graphite_dir="/var/graphite"
extra_commands="status"
start_cmd="${name}_start"
stop_cmd="${name}_stop"
status_cmd="${name}_status"
start_precmd='setproclimits'

setproclimits()
{
	local climit
	climit=$(ulimit -n)
	if [ "$climit" -lt 4096 ]; then
		ulimit -n 4096
	fi
}

carbon_aggregator_start()
{
	/usr/bin/su -m ${graphite_user} -c "${command} ${config}  start"
}

carbon_aggregator_stop()
{
	/usr/bin/su -m ${graphite_user} -c "${command} ${config} stop"
}

carbon_aggregator_status()
{
	/usr/bin/su -m ${graphite_user} -c "${command} ${config} status"
}


if [ -f /etc/rc.subr -a -f /etc/rc.conf ]; then
	load_rc_config $name
	run_rc_command "$1"
else
	if [ -f /etc/rc.conf ]; then
		. /etc/rc.conf
	fi
	case $1 in
	start)
		${start_cmd}
		;;
	stop)
		${stop_cmd}
		;;
	restart)
		${stop_cmd} && ${start_cmd}
		;;
	*)
		echo "Usage: $0 {start|stop|restart}" 1>&2
		exit 64
		;;
	esac
fi
