diff options
Diffstat (limited to 'app-misc/carbon-c-relay/files')
4 files changed, 174 insertions, 0 deletions
diff --git a/app-misc/carbon-c-relay/files/carbon-c-relay.confd b/app-misc/carbon-c-relay/files/carbon-c-relay.confd new file mode 100644 index 000000000000..d2824644d3c0 --- /dev/null +++ b/app-misc/carbon-c-relay/files/carbon-c-relay.confd @@ -0,0 +1,15 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# routing file to read +#ROUTES_FILE=/etc/carbon-c-relay.conf + +# where to store the PID-file +#PIDFILE=/run/carbon-c-relay.pid + +# user and group to run carbon-c-relay as +#USER=carbon +#GROUP=carbon + +# any options to use when starting the relay +#EXTRA_OPTS= diff --git a/app-misc/carbon-c-relay/files/carbon-c-relay.confd-r1 b/app-misc/carbon-c-relay/files/carbon-c-relay.confd-r1 new file mode 100644 index 000000000000..5233eec2d2a1 --- /dev/null +++ b/app-misc/carbon-c-relay/files/carbon-c-relay.confd-r1 @@ -0,0 +1,15 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# routing file to read +#ROUTES_FILE=/etc/carbon-c-relay.conf + +# where to store the logfile +#LOGFILE=/var/log/carbon-c-relay.log + +# user and group to run carbon-c-relay as +#USER=carbon +#GROUP=carbon + +# any options to use when starting the relay +#EXTRA_OPTS= diff --git a/app-misc/carbon-c-relay/files/carbon-c-relay.initd b/app-misc/carbon-c-relay/files/carbon-c-relay.initd new file mode 100644 index 000000000000..8d39afe05d49 --- /dev/null +++ b/app-misc/carbon-c-relay/files/carbon-c-relay.initd @@ -0,0 +1,70 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="configtest" +extra_started_commands="reload" + +description="Lightweight graphite metrics router and aggregator." +description_configtest="Run carbon-c-relay's internal config check." +description_reload="Reload the carbon-c-relay configuration without losing connections." + +routes_config=${ROUTES_FILE:-/etc/${SVCNAME}.conf} + +command="/usr/bin/carbon-c-relay" +command_args="-f ${routes_config} ${EXTRA_OPTS}" +pidfile=${PIDFILE:-/run/${SVCNAME}.pid} +user=${USER:-carbon} +group=${GROUP:-carbon} + +depend() { + need net + use dns +} + +start_pre() { + if [ "${RC_CMD}" != "restart" ]; then + configtest || return 1 + fi + touch /var/log/${SVCNAME}.log + chown ${user}:${group} /var/log/${SVCNAME}.log +} + +stop_pre() { + if [ "${RC_CMD}" = "restart" ]; then + configtest || return 1 + fi +} + +stop_post() { + rm -f ${pidfile} +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --background --make-pidfile --pidfile ${pidfile} \ + --stdout /var/log/${SVCNAME}.log \ + --stderr /var/log/${SVCNAME}.log \ + --user ${user} --group ${group} \ + --exec ${command} -- ${command_args} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec ${command} --pidfile ${pidfile} + eend $? +} + +reload() { + configtest || return 1 + ebegin "Refreshing ${SVCNAME}'s configuration" + kill -HUP $(< ${pidfile}) &>/dev/null + eend $? "Failed to reload ${SVCNAME}" +} + +configtest() { + ebegin "Checking ${SVCNAME}'s configuration" + ${command} -f "${routes_config}" -t < /dev/null > /dev/null + eend $? "failed, please correct errors above" +} diff --git a/app-misc/carbon-c-relay/files/carbon-c-relay.initd-r1 b/app-misc/carbon-c-relay/files/carbon-c-relay.initd-r1 new file mode 100644 index 000000000000..1e2734941cc1 --- /dev/null +++ b/app-misc/carbon-c-relay/files/carbon-c-relay.initd-r1 @@ -0,0 +1,74 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="configtest" +extra_started_commands="reload" + +description="Lightweight graphite metrics router and aggregator." +description_configtest="Run carbon-c-relay's internal config check." +description_reload="Reload the carbon-c-relay configuration without losing connections." + +routes_config=${ROUTES_FILE:-/etc/${SVCNAME}.conf} + +command="/usr/bin/carbon-c-relay" +command_args="-f ${routes_config} ${EXTRA_OPTS}" +pidfile="/run/carbon-c-relay/${SVCNAME}.pid" +logfile=${LOGFILE:-/var/log/${SVCNAME}.log} +user=${USER:-carbon} +group=${GROUP:-carbon} + +depend() { + need net + use dns +} + +start_pre() { + if [ "${RC_CMD}" != "restart" ]; then + configtest || return 1 + fi + touch "${logfile}" + mkdir -p "${pidfile%/*}" + chown ${user}:${group} "${logfile}" "${pidfile%/*}" +} + +stop_pre() { + if [ "${RC_CMD}" = "restart" ]; then + configtest || return 1 + fi +} + +stop_post() { + rm -f "${pidfile}" +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --pidfile "${pidfile}" \ + --user ${user} --group ${group} \ + --exec ${command} -- -D -P "${pidfile}" -l "${logfile}" \ + ${command_args} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + # migration path + local pfile=${pidfile} + [[ -e /run/carbon-c-relay.pid ]] && pfile="/run/carbon-c-relay.pid" + start-stop-daemon --stop --exec ${command} --pidfile "${pfile}" + eend $? +} + +reload() { + configtest || return 1 + ebegin "Refreshing ${SVCNAME}'s configuration" + kill -HUP $(< "${pidfile}") &>/dev/null + eend $? "Failed to reload ${SVCNAME}" +} + +configtest() { + ebegin "Checking ${SVCNAME}'s configuration" + ${command} -f "${routes_config}" -t < /dev/null > /dev/null + eend $? "failed, please correct errors above" +} |