Files
op-packages/agentflow/files/agentflow.init
T

52 lines
1.3 KiB
Bash

#!/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 \
"$@" \
MISE_INSTALLS_DIR="$data_dir/globalmise/mise-installs" \
MISE_DATA_DIR="$data_dir/globalmise/mise-data" \
MISE_CACHE_DIR="$data_dir/globalmise/mise-cache" \
MISE_STATE_DIR="$data_dir/globalmise/mise-state" \
NPM_CONFIG_CACHE="$data_dir/globalmise/npm-cache" \
NPM_CONFIG_USERCONFIG="$data_dir/globalmise/.npmrc" \
PATH="$data_dir/globalmise/mise-data/shims:$PATH"
}
start_service() {
config_load agentflow
config_foreach get_config agentflow
[ "$enabled" = 1 ] || return 1
[ -x /usr/bin/agentflow ] || {
logger -t agentflow "missing executable: /usr/bin/agentflow"
return 1
}
mkdir -p "$data_dir" || return 1
logger -t agentflow "starting AgentFlow on $host:$port"
procd_open_instance
procd_set_param command /usr/bin/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"
}