#!/bin/sh /etc/rc.common
# Breeze Core — procd service (OpenWrt).
# Configuration: /etc/breeze-core/breeze-core.env (BREEZE_HOST/PORT/OPTS).

START=95
STOP=10
USE_PROCD=1

start_service() {
	BREEZE_HOST=127.0.0.1
	BREEZE_PORT=8420
	BREEZE_OPTS=""
	[ -r /etc/breeze-core/breeze-core.env ] && . /etc/breeze-core/breeze-core.env

	procd_open_instance breeze-core
	# Straight at the binary: it is one static executable, so there is no
	# LD_LIBRARY_PATH wrapper to go through any more. OpenWrt's base image has
	# no libz, which is what the Python bundle needed one for.
	procd_set_param command /usr/bin/breeze-core \
		serve --host "$BREEZE_HOST" --port "$BREEZE_PORT" $BREEZE_OPTS
	procd_set_param env \
		AC_CONFIG=/etc/breeze-core/config.json \
		AC_DEVICES=/etc/breeze-core/devices.json \
		AC_PROGRAMS=/etc/breeze-core/programs.json \
		AC_TIMERS=/etc/breeze-core/timers.json
	procd_set_param user breeze
	procd_set_param respawn 3600 5 5
	procd_set_param stdout 1
	procd_set_param stderr 1
	procd_close_instance
}
