summaryrefslogtreecommitdiffstats
path: root/system/netdata-openrc.in
diff options
context:
space:
mode:
Diffstat (limited to 'system/netdata-openrc.in')
-rw-r--r--system/netdata-openrc.in88
1 files changed, 88 insertions, 0 deletions
diff --git a/system/netdata-openrc.in b/system/netdata-openrc.in
new file mode 100644
index 0000000..1588789
--- /dev/null
+++ b/system/netdata-openrc.in
@@ -0,0 +1,88 @@
+#!/sbin/openrc-run
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+# The user netdata is configured to run as.
+# If you edit its configuration file to set a different
+# user, set it here too, to have its files switch ownership
+: "${NETDATA_OWNER:=@netdata_user_POST@:@netdata_user_POST@}"
+
+# The timeout in seconds to wait for netdata
+# to save its database on disk and exit.
+: "${NETDATA_WAIT_EXIT_TIMEOUT:=60}"
+
+# When set to 1, if netdata does not exit in
+# NETDATA_WAIT_EXIT_TIMEOUT, we will force it
+# to exit.
+: "${NETDATA_FORCE_EXIT:=0}"
+
+# When set to 1, we use netdatacli for reload/rotate/save commands instead of s-s-d.
+: "${NETDATA_USE_NETDATACLI:=0}"
+
+# Specifies the pidfile to use when running in the background.
+: "${NETDATA_PIDFILE:=@localstatedir_POST@/run/netdata/netdata.pid}"
+
+extra_started_commands="reload rotate save"
+command_prefix="@sbindir_POST@"
+command="${command_prefix}/netdata"
+command_args="-P ${NETDATA_PIDFILE} ${NETDATA_EXTRA_ARGS}"
+command_args_foreground="-D"
+start_stop_daemon_args="-u ${NETDATA_OWNER}"
+if [ "${NETDATA_FORCE_EXIT}" -eq 1 ]; then
+ retry="TERM/${NETDATA_WAIT_EXIT_TIMEOUT}/KILL/1"
+else
+ retry="TERM/${NETDATA_WAIT_EXIT_TIMEOUT}"
+fi
+
+depend() {
+ use logger
+ need net
+ after apache2 squid nginx mysql named opensips upsd hostapd postfix lm_sensors
+}
+
+start_pre() {
+ checkpath -o ${NETDATA_OWNER} -d @localstatedir_POST@/cache/netdata @localstatedir_POST@/run/netdata
+
+ if [ -z "${supervisor}" ]; then
+ pidfile="${NETDATA_PIDFILE}"
+ fi
+}
+
+run_cmd() {
+ cmd="${1}"
+ msg="${2}"
+ failmsg="${3}"
+ signal="${4}"
+
+ ebegin "${msg}"
+ if [ "${NETDATA_USE_NETDATACLI}" = 1 ]; then
+ "${command_prefix}/netdatacli" "${cmd}" >/dev/null
+ eend $? "${failmsg}"
+ elif [ "${supervisor}" = "supervise-daemon" ]; then
+ supervise-daemon "${RC_SVCNAME}" --signal "${signal}"
+ eend $? "${failmsg}"
+ else
+ start-stop-daemon --signal "${signal}" --pidfile "${pidfile}"
+ eend $? "${failmsg}"
+ fi
+}
+
+reload() {
+ run_cmd reload-health \
+ "Reloading Netdata health configuration" \
+ "Failed to reload Netdata health configuration" \
+ SIGUSR2
+}
+
+rotate() {
+ run_cmd reopen-logs \
+ "Reopening Netdata log files" \
+ "Failed to reopen Netdata log files" \
+ SIGHUP
+}
+
+save() {
+ run_cmd save-database \
+ "Saving Netdata database" \
+ "Failed to save Netdata database" \
+ SIGUSR1
+}