1#!/bin/sh
2
3. ${STREAMBOOST_CFGDIR:-/etc/appflow}/rc.appflow
4
5# standard settings - accept overrides from the calling environment
6[ -z "$KROUTER_DEBUG_FILE" ] && KROUTER_DEBUG_FILE="/etc/krouter_debug"
7BINARY="flowman"
8export RUNDIR BINDIR BINARY
9
10# configuration items
11DAEMON_BIN="${BINDIR}/${BINARY}"
12DISPLAY_NAME="Flowman"
13PIDFILE="${RUNDIR}/${BINARY}.pid"
14REDIS_PORT=6379
15REDIS_HOST=127.0.0.1
16REDIS_UNIXSOCK=/var/run/appflow/redis.sock
17REDIS_TIMEOUT=3000
18FLOWMAN_LOG_LEVEL=6
19CONN_LINGER=$(cat /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_time_wait 2>/dev/null)
20[ -z "$CONN_LINGER" ] && CONN_LINGER=120
21
22# Format the command line parameters
23OPTIONS_REDIS="--redis-unixsocket=$REDIS_UNIXSOCK --redis-timeout=$REDIS_TIMEOUT"
24OPTIONS_PARAMS="--connection-linger=$CONN_LINGER"
25OPTIONS_DAEMON="--daemon --use-syslog --pid-file=$PIDFILE"
26OPTIONS_LOG="--log-level=$FLOWMAN_LOG_LEVEL"
27OPTIONS_ALL="$OPTIONS_REDIS $OPTIONS_DAEMON $OPTIONS_LOG $OPTIONS_PARAMS"
28OPTIONS_DEBUG="--no-daemon --log-level=7 --no-syslog"
29
30start() {
31	echo -n "Starting ${DISPLAY_NAME}: "
32	start-stop-daemon -S -q -p $PIDFILE -x $DAEMON_BIN -- $OPTIONS_ALL "$@"
33	retval=$?
34	echo
35	return ${retval}
36}
37
38debug() {
39	[ ! -d "$RUNDIR" ] && {
40		mkdir -p $RUNDIR
41	}
42
43	echo -n "Running ${DISPLAY_NAME} in debug mode: "
44	$DAEMON_BIN -- $OPTIONS_ALL $OPTIONS_DEBUG "$@"
45	retval=$?
46	echo
47	return ${retval}
48}
49
50boot() {
51	[ ! -d "$RUNDIR" ] && {
52		mkdir -p $RUNDIR
53	}
54
55	if [ -n "$KROUTER_DEBUG_FILE" ] && [ -e "$KROUTER_DEBUG_FILE" ]; then
56		# debug file is present
57		echo "$DISPLAY_NAME: booting in debug mode"
58		start $OPTIONS_DEBUG "$@"
59	else
60		start "$@"
61	fi
62}
63
64restart() {
65	stop
66	start
67}
68
69action() {
70	action=${1:-boot}
71	shift
72
73	case "${action}" in
74		boot|init)
75			boot "$@"
76			;;
77		start|stop|restart|status|debug)
78			${action} "$@"
79			;;
80		*)
81			echo "Usage: $0 start|boot|stop|restart|status|debug"
82			exit 1
83	esac
84}
85
86action "$@"
87exit $?
88