mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-03-06 14:12:23 +01:00
78 lines
1.5 KiB
Plaintext
78 lines
1.5 KiB
Plaintext
#!/sbin/openrc-run
|
|
# Copyright 1999-2014 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
VARNISHD_PID=${VARNISHD_PID:-/run/${SVCNAME}.pid}
|
|
CONFIGFILES="${CONFIGFILE:-/etc/varnish/default.vcl}"
|
|
|
|
command="${VARNISHD:-/usr/sbin/varnishd}"
|
|
command_args="-j unix,user=varnish -P ${VARNISHD_PID} -f ${CONFIGFILE} ${VARNISHD_OPTS}"
|
|
pidfile="${VARNISHD_PID}"
|
|
|
|
extra_commands="configtest"
|
|
extra_started_commands="reload"
|
|
|
|
description_configtest="Run syntax tests for configuration files."
|
|
description_reload="Reloads the configuration."
|
|
|
|
depend() {
|
|
need net
|
|
}
|
|
|
|
configtest() {
|
|
ebegin "Checking ${SVCNAME} configuration"
|
|
checkconfig
|
|
eend $?
|
|
}
|
|
|
|
checkconfig() {
|
|
${VARNISHD} -C -f ${CONFIGFILE} >/dev/null 2>&1
|
|
ret=$?
|
|
if [ $ret -ne 0 ]; then
|
|
eerror "${SVCNAME} has detected an error in your setup:"
|
|
${VARNISHD} -C -f ${CONFIGFILE}
|
|
fi
|
|
|
|
return $ret
|
|
}
|
|
|
|
start_pre() {
|
|
checkconfig || return 1
|
|
}
|
|
|
|
stop_pre() {
|
|
if [ "${RC_CMD}" = "restart" ]; then
|
|
checkconfig || return 1
|
|
fi
|
|
}
|
|
|
|
reload() {
|
|
checkconfig || return 1
|
|
|
|
ebegin "Reloading varnish"
|
|
|
|
$VARNISHADM vcl.list >/dev/null 2>&1
|
|
ret=$?
|
|
if [ $ret -ne 0 ]; then
|
|
eerror "${SVCNAME} cannot list configuration"
|
|
return 1
|
|
fi
|
|
|
|
new_config="reload_$(date +%FT%H:%M:%S)"
|
|
$VARNISHADM vcl.load $new_config $CONFIGFILE >/dev/null 2>&1
|
|
ret=$?
|
|
if [ $ret -ne 0 ]; then
|
|
eerror "${SVCNAME} cannot load configuration"
|
|
return 1
|
|
fi
|
|
|
|
$VARNISHADM vcl.use $new_config >/dev/null 2>&1
|
|
ret=$?
|
|
if [ $ret -ne 0 ]; then
|
|
eerror "${SVCNAME} cannot switch configuration"
|
|
return 1
|
|
fi
|
|
|
|
eend 0
|
|
}
|