#!/sbin/openrc-run

name="Caddy webserver"
command="/usr/sbin/caddy"
command_args="$CADDY_OPTS"
pidfile="/var/run/caddy.pid"
command_background=yes
command_user=caddy:caddy
extra_commands="checkconfig"
extra_started_commands="reload"

depend() {
	need net localmount
	after firewall
}

checkconfig() {
	ebegin "Checking configuration for $RC_SVCNAME"
	su -s /bin/sh ${command_user%:*} -c "$command $command_args -validate"
	eend $?
}

reload() {
	checkconfig || return $?
	ebegin "Reloading $RC_SVCNAME"
	case "$supervisor" in
		"") start-stop-daemon --signal USR1 --pidfile "$pidfile";;
		supervise-daemon) supervise-daemon $RC_SVCNAME --signal USR1;;
		*) eend 1 "Unsupported supervisor: $supervisor";;
	esac
	eend $?
}

start_pre() {
	if [ "$RC_CMD" != "restart" ]; then
		checkconfig || return $?
	fi
}

stop_pre() {
	if [ "$RC_CMD" == "restart" ]; then
		checkconfig || return $?
	fi
}
