summaryrefslogtreecommitdiff
path: root/devel/zookeeper/files/zookeeper.in
blob: c23efab4f179ee6c488ff2fe05319d2199ab7d0c (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
#!/bin/sh

# $FreeBSD$
#
# PROVIDE: zookeeper
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable zookeeper:
#
# zookeeper_enable="YES"

. /etc/rc.subr

name=zookeeper
rcvar=zookeeper_enable

load_rc_config "${name}"

: ${zookeeper_enable:=NO}
: ${zookeeper_user:=%%USERS%%}
: ${zookeeper_pidfile:=/var/run/zookeeper.pid}
: ${zookeeper_config:=%%ETCDIR%%/zoo.cfg}
: ${zookeeper_log4jpropfile:=file:%%ETCDIR%%/log4j.properties}
: ${zookeeper_rootlogger:="INFO,ROLLINGFILE"}
: ${zookeeper_logdir:=%%ZOOKEEPER_LOGDIR%%}
: ${zookeeper_jvmopts:=}
: ${zookeeper_syslog_output_enable:="YES"}

if checkyesno zookeeper_syslog_output_enable; then
	zookeeper_syslog_output_flags="-T ${name}"
	if [ -n "${zookeeper_syslog_output_priority}" ]; then
		zookeeper_syslog_output_flags="${zookeeper_syslog_output_flags} -s ${zookeeper_syslog_output_priority}"
	fi
	if [ -n "${zookeeper_syslog_output_facility}" ]; then
		zookeeper_syslog_output_flags="${zookeeper_syslog_output_flags} -l ${zookeeper_syslog_output_facility}"
	fi
fi

JAVA=%%JAVA%%

CLASSPATH=":%%DATADIR%%/*"

log4j_params="-Dzookeeper.log.dir=${zookeeper_logdir} -Dlog4j.configuration=${zookeeper_log4jpropfile} -Dzookeeper.root.logger=${zookeeper_rootlogger}"
zookeeper_main="${zookeeper_jvmopts} ${log4j_params} -cp $CLASSPATH org.apache.zookeeper.server.quorum.QuorumPeerMain ${zookeeper_config}"
pidfile="${zookeeper_pidfile}"
required_dirs="${zookeeper_logdir}"
required_files="${zookeeper_config}"

command="/usr/sbin/daemon"
command_args="-f ${zookeeper_syslog_output_flags} -P ${pidfile} -u ${zookeeper_user} -t ${name} ${JAVA} ${zookeeper_main}"
unset zookeeper_user

run_rc_command "$1"