summaryrefslogtreecommitdiff
blob: 3959f31201531edf938ac4b01b4785f7b0868d92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/sbin/openrc-run
# Copyright 2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

description="serf agent"
extra_started_commands="reload"
group=${group:-${RC_SVCNAME}}
pidfile=${pidfile:-"/run/${RC_SVCNAME}/${RC_SVCNAME}.pid"}
user=${user:-${RC_SVCNAME}}

command="/usr/bin/${RC_SVCNAME}"
command_args="agent ${command_args:-config-dir=/etc/serf.d}"
command_background="true"
start_stop_daemon_args="--user ${user} --group ${group} \
	--stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
	--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"

depend() {
	need net
	after net
}

reload() {
	ebegin "Reloading ${RC_SVCNAME}"
	${command} reload
	eend $?
}

start_pre() {
	checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
}

stop() {
	# SIGINT is required for graceful shutdown of serf agent
	ebegin "Stopping ${RC_SVCNAME}"
	start-stop-daemon --stop --signal SIGINT --pidfile "${pidfile}"
	eend $?
}