diff options
author | Francesco Colista <fcolista@alpinelinux.org> | 2016-04-22 18:10:05 +0000 |
---|---|---|
committer | Francesco Colista <fcolista@alpinelinux.org> | 2016-04-22 18:10:05 +0000 |
commit | 96cdb8e9e6b70a355eea850624277ed687d4be12 (patch) | |
tree | 5f72857eab3591469dca0af8caadb2e88210a2d8 /community/icinga2/icinga2.initd | |
parent | 32fee060aae12a19444d059777c107f86076d549 (diff) | |
download | aports-96cdb8e9e6b70a355eea850624277ed687d4be12.tar.bz2 aports-96cdb8e9e6b70a355eea850624277ed687d4be12.tar.xz |
community/icinga2: moved from testing
Diffstat (limited to 'community/icinga2/icinga2.initd')
-rw-r--r-- | community/icinga2/icinga2.initd | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/community/icinga2/icinga2.initd b/community/icinga2/icinga2.initd new file mode 100644 index 0000000000..8fb13162e3 --- /dev/null +++ b/community/icinga2/icinga2.initd @@ -0,0 +1,84 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_started_commands="reload" + +DAEMON="/usr/sbin/icinga2" +ICINGA2_ERROR_LOG="/var/log/icinga2/error.log" +ICINGA2_STARTUP_LOG="/var/log/icinga2/startup.log" +ICINGA2_LOG="/var/log/icinga2/icinga2.log" +ICINGA2_CONFIG_FILE="/etc/icinga2/icinga2.conf" +ICINGA2_RUN_DIR="/run/icinga2" +ICINGA2_STATE_DIR="/var/cache/icinga2" +ICINGA2_CMD_DIR="${ICINGA2_RUN_DIR}/cmd" +ICINGA2_PID_FILE="${ICINGA2_RUN_DIR}/icinga2.pid" +ICINGA2_DAEMON_ARGS="daemon -c $ICINGA2_CONFIG_FILE -e $ICINGA2_ERROR_LOG -d" + +depend() { + need net +} + +checkconfig() { + if [ ! -e "$ICINGA2_CONFIG_FILE" ]; then + ewarn "Config file '$ICINGA2_CONFIG_FILE' does not exist." + eend 1 + fi + + ICINGA2_USER=$($DAEMON variable get --current RunAsUser) + if [ $? != 0 ]; then + eerror "Could not fetch RunAsUser variable: '$ICINGA2_USER'." + return 1 + fi + ICINGA2_GROUP=$($DAEMON variable get --current RunAsGroup) + if [ $? != 0 ]; then + eerror "Could not fetch RunAsGroup variable: '$ICINGA2_GROUP'." + return 1 + fi + + checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_RUN_DIR + checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_STATE_DIR + checkpath -d -m 2750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_CMD_DIR + + if ! $DAEMON daemon -c $ICINGA2_CONFIG_FILE -C > $ICINGA2_STARTUP_LOG 2>&1; then + eerror "Icinga2 detected configuration errors. Check '$ICINGA2_STARTUP_LOG' for details." + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting icinga2" + start-stop-daemon --start --exec "${DAEMON}" \ + --pidfile "${ICINGA2_PID_FILE}" \ + -- $ICINGA2_DAEMON_ARGS > $ICINGA2_STARTUP_LOG 2>&1 + local retval=$? + if [ $retval -ne 0 ]; then + ewarn "Error starting icinga2. '$ICINGA2_STARTUP_LOG' for details." + fi + eend $retval +} + +stop() { + ebegin "Stopping icinga2" + start-stop-daemon \ + --stop \ + --pidfile $ICINGA2_PID_FILE \ + --retry "SIGTERM/15 SIGKILL/30" \ + --progress + eend $? +} + +reload() { + checkconfig || return 1 + + ebegin "Reloading icinga2" + start-stop-daemon --signal HUP --pidfile "$ICINGA2_PID_FILE" + + local retval=$? + if [ $retval -ne 0 ]; then + ewarn "Error reloading icinga2." + fi + eend $retval +} |