aboutsummaryrefslogtreecommitdiff
path: root/textproc/consul-template/files/consul-template.in
blob: e4d0d0b62982280e40c3479e136beedc5f405f7a (plain) (blame)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/sh

# PROVIDE: consul_template
# REQUIRE: NETWORKING SERVERS DAEMON
# KEYWORD: shtudown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# consul_template_enable (bool):        Set to NO by default.
#                                          Set it to YES to enable consul-template.
# consul_template_user (user):          Set user to run consul-template.
#                                          Default is "root".
# consul_template_group (group):        Set group to run consul-template.
#                                          Default is "wheel".
# consul_template_env (string):         Set environment variables used with consul-template.
#                                          Default is "".
# consul_template_args (string):        Set flags used with consul-template.
#                                          Default is "".
# consul_template_syslog_output_enable (string): Set to YES to enable syslog output
#						Default is "NO". See daemon(8).
# consul_template_syslog_output_priority (str):	Set syslog priority if syslog enabled.
#						Default is "info". See daemon(8).
# consul_template_syslog_output_facility (str):	Set syslog facility if syslog enabled.
#						Default is "daemon". See daemon(8).

. /etc/rc.subr

name=consul_template
rcvar=consul_template_enable

load_rc_config $name

: ${consul_template_enable:="NO"}
: ${consul_template_user:="root"}
: ${consul_template_group:="wheel"}
: ${consul_template_env:=""}
: ${consul_template_args:=""}
: ${consul_template_syslog_output_enable:="NO"}

if checkyesno consul_template_syslog_output_enable; then
	consul_template_syslog_output_flags="-T ${name}"
	if [ -n "${consul_template_syslog_output_priority}" ]; then
		consul_template_syslog_output_flags="${consul_template_syslog_output_flags} -s ${consul_template_syslog_output_priority}"
	fi

	if [ -n "${consul_template_syslog_output_facility}" ]; then
		consul_template_syslog_output_flags="${consul_template_syslog_output_flags} -l ${consul_template_syslog_output_facility}"
	fi
fi

pidfile=/var/run/consul-template.pid
procname="%%PREFIX%%/bin/consul-template"
command="/usr/sbin/daemon"
command_args="-f -t ${name} ${consul_template_syslog_output_flags} -p ${pidfile} /usr/bin/env ${consul_template_env} ${procname} -config=%%PREFIX%%/etc/consul-template.d ${consul_template_args}"
sig_stop="INT"

start_precmd=consul_template_startprecmd

consul_template_startprecmd()
{
    if [ ! -e ${pidfile} ]; then
        install -o ${consul_template_user} -g ${consul_template_group} /dev/null ${pidfile}
    fi
}

run_rc_command "$1"