summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/consul/files/consul.initd')
-rw-r--r--app-admin/consul/files/consul.initd40
1 files changed, 40 insertions, 0 deletions
diff --git a/app-admin/consul/files/consul.initd b/app-admin/consul/files/consul.initd
new file mode 100644
index 000000000000..1fb48d016aa1
--- /dev/null
+++ b/app-admin/consul/files/consul.initd
@@ -0,0 +1,40 @@
+#!/sbin/openrc-run
+# Copyright 2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="consul agent"
+extra_started_commands="reload"
+export GOMAXPROCS=${GOMAXPROCS:-2}
+group=${group:-${SVCNAME}}
+pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
+user=${user:-${SVCNAME}}
+
+command="/usr/bin/${SVCNAME}"
+command_args="agent -config-dir=/etc/consul.d ${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${SVCNAME}/${SVCNAME}.log \
+ --stderr /var/log/${SVCNAME}/${SVCNAME}.log"
+
+depend() {
+ need net
+ after net
+}
+
+reload() {
+ ebegin "Reloading ${SVCNAME}"
+ ${command} reload
+ eend $?
+}
+
+start_pre() {
+ checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
+}
+
+stop() {
+ # SIGINT is required for graceful shutdown of consul agent
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --signal SIGINT --pidfile "${pidfile}"
+ eend $?
+}