op-packages/beszel-agent/files/beszel-agent.init
github-actions[bot] 9d0be29ac0 💐 Sync 2026-05-25 21:11:41
2026-05-25 21:11:41 +08:00

60 lines
1.3 KiB
Bash

#!/bin/sh /etc/rc.common
START=99
STOP=10
USE_PROCD=1
PROG=/usr/bin/beszel-agent
start_service() {
local enabled port key url token
config_load 'beszel-agent'
config_get_bool enabled 'agent' 'enabled' '0'
config_get port 'agent' 'port' '45876'
config_get key 'agent' 'public_key' ''
config_get url 'agent' 'hub_url' ''
config_get token 'agent' 'token' ''
[ "$enabled" -eq 0 ] && return 0
[ -z "$key" ] && {
logger -t beszel-agent "Public key not set!"
return 1
}
if [ -n "$url" ] || [ -n "$token" ]; then
if [ -z "$url" ] || [ -z "$token" ]; then
logger -t beszel-agent "Outbound mode requires both hub_url and token, but only one set!"
return 1
fi
fi
mkdir -p /usr/share/beszel-agent
procd_open_instance beszel-agent
procd_set_param command "$PROG" -listen "$port" -key "$key"
[ -n "$url" ] && [ -n "$token" ] && {
procd_append_param command -url "$url" -token "$token"
}
procd_set_param env DATA_DIR=/usr/share/beszel-agent
procd_set_param respawn 3600 5 5
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param user root
procd_close_instance
}
stop_service() {
service_stop "$PROG"
}
reload_service() {
restart
}
service_triggers() {
procd_add_reload_trigger "beszel-agent"
}