Files
wakey/scripts/init/openwrt/wakey
T

44 lines
1.2 KiB
Bash

#!/bin/sh /etc/rc.common
# OpenWrt init script
START=99
USE_PROCD=1
NAME=wakey
BIN=/root/.bin/wakey-agent
CONFIG=/etc/wakey-agent/config.toml
UCI_CONFIG=/etc/config/wakey
start_service() {
local authorization='' log_filter='info'
if [ -f "$UCI_CONFIG" ]; then
config_load wakey || return 1
config_get authorization main otlp_authorization
config_get log_filter main log_filter 'info'
fi
procd_open_instance
procd_set_param command "$BIN" serve --config "$CONFIG"
procd_set_param file "$CONFIG"
if [ -f "$UCI_CONFIG" ]; then
procd_append_param file "$UCI_CONFIG"
fi
procd_set_param env "RUST_LOG=$log_filter"
# Pass the complete header as one argument; never log its value.
if [ -n "$authorization" ]; then
procd_append_param env "WAKEY_OTLP_AUTHORIZATION=$authorization"
fi
procd_set_param respawn 5 1 0
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
stop_service() {
: # procd manages the process; nothing to do here
}
reload_service() {
# Prefer in-process reload; fallback to full restart if signal path is unavailable.
procd_send_signal "$NAME" HUP 2>/dev/null || restart
}