blob: 1f750cc2b60280f321265deda732e0ec9b7d270b (
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#!/bin/sh
# PROVIDE: graphiteapi
# REQUIRE: LOGIN DAEMON NETWORKING
# KEYWORD: shutdown
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# graphiteapi_enable (bool): Set to NO by default.
# Set it to YES to enable graphiteapi.
#
# graphiteapi_user (string): optional username to run daemon under
# graphiteapi_group (string): optional groupname to run daemon under
# graphiteapi_address (string): optional IP:PORT tuple to bind to
# graphiteapi_config (string): optional full path for yaml config file
# graphiteapi_flags (string): optional flags to pass through to gunicorn
. /etc/rc.subr
name="%%GRAPHITEAPI_APP%%"
rcvar="%%GRAPHITEAPI_APP%%_enable"
desc="graphite-web rendering API"
load_rc_config ${name}
: ${graphiteapi_enable:="NO"}
: ${graphiteapi_user="%%GRAPHITEAPI_USER%%"}
: ${graphiteapi_group="%%GRAPHITEAPI_GROUP%%"}
: ${graphiteapi_address="127.0.0.1:5600"}
: ${graphiteapi_config="%%ETCDIR%%/%%GRAPHITEAPI_APP%%.yaml"}
: ${graphiteapi_flags="--workers 4"}
required_files="${graphiteapi_config}"
command="%%PREFIX%%/bin/gunicorn-%%PYTHON_VER%%"
procname="%%PYTHON_VERSION%%"
pidfile="%%GRAPHITEAPI_PIDFILE%%"
command_args="--daemon graphite_api.app:app"
command_args="${command_args} --user ${graphiteapi_user} --group ${graphiteapi_group}"
command_args="${command_args} --bind ${graphiteapi_address}"
command_args="${command_args} --env GRAPHITE_API_CONFIG=${graphiteapi_config}"
command_args="${command_args} --pid %%GRAPHITEAPI_PIDFILE%%"
command_args="${command_args} --worker-tmp-dir %%GRAPHITEAPI_TMPDIR%%"
command_args="${command_args} --error-logfile %%GRAPHITEAPI_LOGDIR%%/error.log"
command_args="${command_args} --access-logfile %%GRAPHITEAPI_LOGDIR%%/access.log"
extra_commands="reload"
start_precmd="start_precmd"
start_precmd()
{
test -d "%%GRAPHITEAPI_LOGDIR%%" || install -d -o ${graphiteapi_user} \
-g ${graphiteapi_group} -m 0750 "%%GRAPHITEAPI_LOGDIR%%"
test -d "%%GRAPHITEAPI_TMPDIR%%" || install -d -o ${graphiteapi_user} \
-g ${graphiteapi_group} -m 0750 "%%GRAPHITEAPI_TMPDIR%%"
}
run_rc_command "$1"
|