mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-09-10 18:34:18 +08:00
70 lines
1.6 KiB
Bash
70 lines
1.6 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"
|
|
}
|
|
|
|
load_runtime_env() {
|
|
local conf_dir
|
|
|
|
[ -n "$data_dir" ] || return 1
|
|
conf_dir="$(dirname "$data_dir")"
|
|
export ISTORE_RUNTIME_CONF_DIR="$conf_dir"
|
|
|
|
if [ -r /lib/functions/istore_runtime.sh ]; then
|
|
. /lib/functions/istore_runtime.sh
|
|
istore_runtime_export_env
|
|
return $?
|
|
fi
|
|
|
|
return 1
|
|
}
|
|
|
|
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/data" || return 1
|
|
if ! load_runtime_env; then
|
|
logger -t agentflow "shared runtime home is not configured"
|
|
return 1
|
|
fi
|
|
|
|
logger -t agentflow "starting AgentFlow on $host:$port"
|
|
procd_open_instance
|
|
procd_set_param command /usr/sbin/agentflow
|
|
procd_set_param env \
|
|
"AGENT_FLOW_DATA=$data_dir/data" \
|
|
"AGENT_FLOW_HOST=$host" \
|
|
"AGENT_FLOW_PORT=$port" \
|
|
"HOME=$HOME" \
|
|
"XDG_DATA_HOME=$XDG_DATA_HOME" \
|
|
"XDG_CACHE_HOME=$XDG_CACHE_HOME" \
|
|
"XDG_CONFIG_HOME=$XDG_CONFIG_HOME" \
|
|
"XDG_STATE_HOME=$XDG_STATE_HOME" \
|
|
"MISE_DATA_DIR=$MISE_DATA_DIR" \
|
|
"MISE_CACHE_DIR=$MISE_CACHE_DIR" \
|
|
"MISE_CONFIG_DIR=$MISE_CONFIG_DIR" \
|
|
"MISE_STATE_DIR=$MISE_STATE_DIR" \
|
|
"PATH=$PATH"
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
procd_set_param respawn
|
|
procd_close_instance
|
|
}
|
|
|
|
service_triggers() {
|
|
procd_add_reload_trigger "agentflow"
|
|
}
|