aboutsummaryrefslogtreecommitdiffstats
path: root/community/rspamd/rspamd.initd
blob: 7aaa25a516e79d9d51001b7558312343b45ff52d (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
#!/sbin/openrc-run

extra_commands="checkconfig"
extra_started_commands="reload reopen"

description="Rapid spam filtering system"
description_checkconfig="Check configuration"
description_reload="Reload configuration"
description_reopen="Reopen log files"

# Uppercase variables are here for backward compatibility only.
: ${command_user:="${RSPAMD_USER:-rspamd}:${RSPAMD_GROUP:-rspamd}"}
: ${cfgfile:=${RSPAMD_CONFIG:-/etc/rspamd/rspamd.conf}}
: ${startuplog:=${RSPAMD_STARTUPLOG:-/dev/null}}

command="/usr/sbin/rspamd"
command_args="--config $cfgfile --no-fork ${command_args:-}"
command_background="yes"
pidfile="/run/rspamd/$RC_SVCNAME.pid"

required_files="$cfgfile"

depend() {
	need localmount net
	before mta
	after redis
}

start_pre() {
	checkpath -d -m 750 -o "$command_user" ${pidfile%/*}
	checkconfig >/dev/null 2>>"$startuplog" || checkconfig
}

checkconfig() {
	ebegin "Checking $name configuration"

	$command $command_args \
		-u "${command_user%:*}" \
		-g "${command_user#*:}" \
		--config-test
	eend $?
}

reload() {
	ebegin "Reloading $name configuration"
	start_pre && start-stop-daemon --signal HUP --pidfile $pidfile
	eend $?
}

reopen() {
	ebegin "Reopening $name log files"
	start-stop-daemon --signal USR1 --pidfile $pidfile
	eend $?
}