opnsense-ports/sysutils/cbsd/files/cbsd-statsd-jail.in
Franco Fichtner 60aa54d43b */*: sync with upstream
Taken from: FreeBSD
2023-02-08 08:31:14 +01:00

100 lines
2.4 KiB
Bash

#!/bin/sh
#
# PROVIDE: cbsd_statsd_jail
# REQUIRE: LOGIN FILESYSTEMS sshd
# KEYWORD: shutdown
#
# cbsd_statsd_jail_enable="YES"
#
. /etc/rc.subr
name=cbsd_statsd_jail
rcvar=cbsd_statsd_jail_enable
load_rc_config $name
# Set defaults
: ${cbsd_statsd_jail_enable:="NO"}
export workdir="${cbsd_workdir}"
globalconf=${cbsd_globalconf:-"%%PREFIX%%/cbsd/cbsd.conf"}
start_cmd=${name}_start
restart_cmd=${name}_restart
extra_commands="restart"
command="%%PREFIX%%/cbsd/tools/racct-jail-statsd"
pidfile="${cbsd_workdir}/var/run/${name}.pid"
command_args="&"
if [ ! -f ${globalconf} ]; then
echo "cbsd: no such ${globalconf}";
exit 1
fi
if [ ! -f ${subr} ]; then
echo "cbsd: no such ${subr}";
exit 1
fi
. ${globalconf}
. ${subrdir}/nc.subr
cbsd_statsd_jail_start()
{
local args= racct_enabled= pool_name= prometheus_listen4= prometheus_listen6= prometheus_port=
# RACCT enabled?
racct_enabled=$( sysctl -qn kern.racct.enable )
[ $? -ne 0 ] && err 1 "cbsd-statsd-jail: RACCT not enabled"
[ "${racct_enabled}" != "1" ] && err 1 "cbsd-statsd-jail: RACCT not enabled"
readconf racct-jail-statsd.conf
[ -n "${log_file}" ] && args="${args} --log_file=${log_file}"
[ -n "${log_level}" ] && args="${args} --log_level=${log_level}"
[ -n "${loop_interval}" ] && args="${args} --loop_interval=${loop_interval}"
[ -n "${save_loop_count}" ] && args="${args} --save_loop_count=${save_loop_count}"
[ -z "${pool_name}" ] && pool_name=$( hostname )
[ -n "${pool_name}" ] && args="${args} --pool_name=${pool_name}"
[ -n "${prometheus_listen4}" ] && args="${args} --prometheus_listen4=${prometheus_listen4}"
[ -n "${prometheus_listen6}" ] && args="${args} --prometheus_listen6=${prometheus_listen6}"
[ -z "${prometheus_port}" ] && prometheus_port=9999
[ -n "${prometheus_port}" ] && args="${args} --prometheus_port=${prometheus_port}"
case "${prometheus_exporter_enable}" in
[Yy][Ee][Ss])
args="${args} --prometheus_exporter=1"
;;
[No][Oo])
args="${args} --prometheus_exporter=0"
;;
esac
case "${beanstald_enable}" in
[Yy][Ee][Ss])
args="${args} --save_beanstalkd=1"
;;
[No][Oo])
args="${args} --save_beanstalkd=0"
;;
esac
case "${sqlite3_enable}" in
[Yy][Ee][Ss])
args="${args} --save_sqlite=1"
;;
[No][Oo])
args="${args} --save_sqlite=0"
;;
esac
exec env workdir=${cbsd_workdir} %%PREFIX%%/cbsd/tools/racct-jail-statsd ${args}
}
cbsd_statsd_jail_restart()
{
cbsd_statsd_jail_stop
cbsd_statsd_jail_start
}
run_rc_command "$1"