#!/bin/sh /etc/rc.common START=93 USE_PROCD=1 get_config() { config_get_bool enabled "$1" enabled 0 config_get data_dir "$1" data_dir "" config_get host "$1" host "0.0.0.0" config_get port "$1" port "9000" } set_mise_env() { procd_set_param env \ "$@" \ HOME="$data_dir/global" \ PATH="$data_dir/global/.local/share/mise/shims:$PATH" } start_service() { config_load agentflow config_foreach get_config agentflow [ "$enabled" = 1 ] || return 1 [ -x /usr/sbin/agentflow ] || { logger -t agentflow "missing executable: /usr/sbin/agentflow" return 1 } mkdir -p "$data_dir" "$data_dir/global" || return 1 logger -t agentflow "starting AgentFlow on $host:$port" procd_open_instance procd_set_param command /usr/sbin/agentflow set_mise_env \ "AGENT_FLOW_DATA=$data_dir/data" \ "AGENT_FLOW_HOST=$host" \ "AGENT_FLOW_PORT=$port" procd_set_param stdout 1 procd_set_param stderr 1 procd_set_param respawn procd_close_instance } service_triggers() { procd_add_reload_trigger "agentflow" }