#!/bin/sh /etc/rc.common # balancerlite init script for OpenWrt procd # Install: install -m 0755 etc/init.d/balancerlite /etc/init.d/balancerlite # /etc/init.d/balancerlite enable START=90 STOP=10 USE_PROCD=1 NAME=balancerlite PROG=/usr/bin/balancerlite start_service() { procd_open_instance procd_set_param command "$PROG" --config /etc/config/balancerlite procd_set_param respawn 3600 5 3 # retry every 5s, max 3 retries procd_set_param stdout 1 # log stdout to syslog procd_set_param stderr 1 # log stderr to syslog # Readiness: procd sends SIGUSR1; daemon does not currently implement # sd_notify, so we use a simple health check instead. procd_set_param health_eval 'ubus call network.interface.wan status' procd_close_instance } reload_service() { procd_send_signal "$NAME" SIGHUP } stop_service() { procd_send_signal "$NAME" SIGTERM sleep 2 } validate_service() { # Basic config sanity check [ -f /etc/config/balancerlite ] || return 1 }