summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/consul/files')
-rw-r--r--app-admin/consul/files/bootstrap.json.example4
-rw-r--r--app-admin/consul/files/consul.confd10
-rw-r--r--app-admin/consul/files/consul.initd40
-rw-r--r--app-admin/consul/files/consul.service16
-rw-r--r--app-admin/consul/files/data-dir.json.example3
-rw-r--r--app-admin/consul/files/ui-dir.json.example3
6 files changed, 76 insertions, 0 deletions
diff --git a/app-admin/consul/files/bootstrap.json.example b/app-admin/consul/files/bootstrap.json.example
new file mode 100644
index 000000000000..b7d573c0d2b3
--- /dev/null
+++ b/app-admin/consul/files/bootstrap.json.example
@@ -0,0 +1,4 @@
+{
+ "server": true,
+ "bootstrap_expect": 1
+}
diff --git a/app-admin/consul/files/consul.confd b/app-admin/consul/files/consul.confd
new file mode 100644
index 000000000000..b15e19c77013
--- /dev/null
+++ b/app-admin/consul/files/consul.confd
@@ -0,0 +1,10 @@
+# you can change the init script behavior by setting those parameters
+# - group (default: consul)
+# - pidfile (default: /run/consul/consul.pid)
+# - user (default: consul)
+
+# extra arguments for the consul agent
+command_args="-config-dir=/etc/consul.d"
+
+# upstream strongly recommends > 1
+GOMAXPROCS=2
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 $?
+}
diff --git a/app-admin/consul/files/consul.service b/app-admin/consul/files/consul.service
new file mode 100644
index 000000000000..496fe4814789
--- /dev/null
+++ b/app-admin/consul/files/consul.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=consul agent
+Requires=network-online.target
+After=network-online.target
+
+[Service]
+User=consul
+Environment=GOMAXPROCS=2
+Environment=CONSUL_AGENT_OPTS="-config-dir=/etc/consul.d"
+ExecStart=/usr/bin/consul agent $CONSUL_AGENT_OPTS
+Restart=on-failure
+KillSignal=SIGINT
+ExecReload=/usr/bin/consul reload
+
+[Install]
+WantedBy=default.target
diff --git a/app-admin/consul/files/data-dir.json.example b/app-admin/consul/files/data-dir.json.example
new file mode 100644
index 000000000000..af162113af62
--- /dev/null
+++ b/app-admin/consul/files/data-dir.json.example
@@ -0,0 +1,3 @@
+{
+ "data_dir": "/var/lib/consul"
+}
diff --git a/app-admin/consul/files/ui-dir.json.example b/app-admin/consul/files/ui-dir.json.example
new file mode 100644
index 000000000000..e5cf7464b123
--- /dev/null
+++ b/app-admin/consul/files/ui-dir.json.example
@@ -0,0 +1,3 @@
+{
+ "ui_dir": "/var/lib/consul/ui"
+}