summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/carbon/files/carbon.initd')
-rw-r--r--dev-python/carbon/files/carbon.initd52
1 files changed, 52 insertions, 0 deletions
diff --git a/dev-python/carbon/files/carbon.initd b/dev-python/carbon/files/carbon.initd
new file mode 100644
index 00000000000..6fd12c60e78
--- /dev/null
+++ b/dev-python/carbon/files/carbon.initd
@@ -0,0 +1,52 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+export GRAPHITE_CONF_DIR=/etc/carbon
+export GRAPHITE_STORAGE_DIR=/var/lib/carbon
+
+INSTANCE=${SVCNAME/#*.}
+if [ "${INSTANCE}" == "${SVCNAME}" ]; then
+ INSTANCE="a"
+fi
+
+PIDFILE="/var/run/${SVCNAME}.pid"
+PROGRAMNAME=${SVCNAME/.*}
+
+CARBON_CONFIG=${CARBON_CONFIG:-/etc/carbon/carbon.conf}
+
+depend() {
+ use net
+}
+
+
+start_pre() {
+ if [ ! -f ${CARBON_CONFIG} ] ; then
+ eend "Missing ${CARBON_CONFIG}"
+ fi
+ case "${PROGRAMNAME}" in
+ "carbon-relay" )
+ [ -f /etc/carbon/relay-rules.conf ] || eend "Missing relay-rules.conf"
+ ;;
+ "carbon-aggregator" )
+ [ -f /etc/carbon/aggregation-rules.conf ] || eend "Missing missing aggregation-rules.conf"
+ ;;
+ esac
+}
+
+start() {
+ ebegin "Starting ${PROGRAMNAME} instance ${INSTANCE}"
+ start-stop-daemon --start --exec /usr/bin/${PROGRAMNAME}.py \
+ --pidfile ${PIDFILE} \
+ -- --pidfile ${PIDFILE} --instance ${INSTANCE} \
+ --logdir /var/log/carbon/ --config ${CARBON_CONFIG} start >/dev/null
+ eend $? "Failed to start ${SVCNAME}"
+}
+
+stop() {
+ ebegin "Stopping ${PROGRAMNAME} instance ${INSTANCE}"
+ start-stop-daemon --stop \
+ --pidfile ${PIDFILE}
+ eend $? "Failed to stop ${SVCNAME}"
+}