mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-09-10 18:34:18 +08:00
52 lines
1.3 KiB
Bash
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"
|
|
}
|