Files
hackacad/usr/local/etc/rc.d/bastille
2022-11-01 17:23:00 -06:00

64 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
# Bastille jail startup script
#
# PROVIDE: bastille
# REQUIRE: NETWORKING
# KEYWORD: shutdown
# Add the following to /etc/rc.conf[.local] to enable this service
#
# bastille_enable (bool): Set to NO by default.
# Set it to YES to enable bastille.
# bastille_list (string): Set to "ALL" by default.
# Space separated list of jails to start.
#
. /etc/rc.subr
name=bastille
rcvar=${name}_enable
: ${bastille_enable:=NO}
: ${bastille_list:="ALL"}
command=/usr/local/bin/${name}
start_cmd="bastille_start"
stop_cmd="bastille_stop"
restart_cmd="bastille_stop && bastille_start"
bastille_start()
{
if [ -z "${bastille_list}" ]; then
echo "bastille_list is undefined"
return 1
fi
local _jail
for _jail in ${bastille_list}; do
echo "Starting Bastille Container: ${_jail}"
${command} start ${_jail}
done
}
bastille_stop()
{
if [ -z "${bastille_list}" ]; then
echo "bastille_list is undefined"
return 1
fi
local _jail
## reverse order of list for shutdown ## fixes #389
bastille_revlist=$(echo "${bastille_list}" | awk '{ for (i=NF; i>1; i--) printf("%s ",$i); print $1; }')
for _jail in ${bastille_revlist}; do
echo "Stopping Bastille Container: ${_jail}"
${command} stop ${_jail}
done
}
load_rc_config ${name}
run_rc_command "$1"