aboutsummaryrefslogtreecommitdiffstats
path: root/www-servers/caddy-bin/files/caddy.initd
diff options
context:
space:
mode:
Diffstat (limited to 'www-servers/caddy-bin/files/caddy.initd')
-rw-r--r--www-servers/caddy-bin/files/caddy.initd48
1 files changed, 48 insertions, 0 deletions
diff --git a/www-servers/caddy-bin/files/caddy.initd b/www-servers/caddy-bin/files/caddy.initd
new file mode 100644
index 0000000..c0112d3
--- /dev/null
+++ b/www-servers/caddy-bin/files/caddy.initd
@@ -0,0 +1,48 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="${RC_SVCNAME}"
+extra_commands="configtest"
+extra_started_commands="reload"
+description_configtest="Run Caddy's internal config check"
+description_reload="Reload Caddy configuration"
+
+export CADDYPATH="${CADDYPATH}"
+command="caddy"
+command_args="${CADDY_OPTS}"
+command_user="${command_user:-caddy:http}"
+command_background=yes
+pidfile="/run/${RC_SVCNAME}.pid"
+
+depend() {
+ use net
+ after dns
+}
+
+start_pre() {
+ if [ "${RC_CMD}" != "restart" ]; then
+ configtest || return 1
+ fi
+}
+
+stop_pre() {
+ if [ "${RC_CMD}" = "restart" ]; then
+ configtest || return 1
+ fi
+}
+
+reload() {
+ configtest || return 1
+ ebegin "Refreshing ${name}'s configuration"
+ start-stop-daemon --signal USR1 --pidfile "${pidfile}"
+ eend $? "Failed to reload ${name}"
+}
+
+configtest() {
+ ebegin "Checking ${name} configuration"
+ if ! ${command} -validate -conf="${CADDY_CONFIG}" >/dev/null 2>&1; then
+ ${command} -validate -conf="${CADDY_CONFIG}"
+ fi
+ eend $? "Failed, please correct the errors above"
+}