mirror of
https://github.com/hotyue/IP-Sentinel.git
synced 2026-07-06 18:41:31 +08:00
feat(arch): v4.3.0 模块化重构启动,引入极简 Bootstrapper 引导程序与 build_agent 编排大管家
This commit is contained in:
65
install/build_agent.sh
Executable file
65
install/build_agent.sh
Executable file
@@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ==========================================================
|
||||
# 模块名称: build_agent.sh (v4.3.0 Orchestrator)
|
||||
# 核心功能: Agent 安装业务的总指挥,负责拉取子模块并按序调用逻辑函数
|
||||
# ==========================================================
|
||||
|
||||
# 1. 定义需要按需加载的子模块清单
|
||||
MODULES=(
|
||||
"env_setup.sh"
|
||||
"ui_menu.sh"
|
||||
"net_engine.sh"
|
||||
"sys_daemon.sh"
|
||||
)
|
||||
|
||||
echo "⏳ 正在装载底层设施依赖..."
|
||||
|
||||
# 2. 从云端拉取所有子模块到沙盒中
|
||||
for mod in "${MODULES[@]}"; do
|
||||
curl -fsSL --connect-timeout 10 --retry 3 "${REPO_RAW_URL}/install/${mod}" -o "${SECURE_TMP}/${mod}"
|
||||
if [ ! -s "${SECURE_TMP}/${mod}" ]; then
|
||||
echo -e "\033[31m❌ 致命错误:依赖模块 [${mod}] 装载失败!\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
source "${SECURE_TMP}/${mod}"
|
||||
done
|
||||
|
||||
echo -e "\033[32m✅ 模块装载完毕,正在进入部署流程...\033[0m"
|
||||
|
||||
# ==========================================================
|
||||
# 3. 核心业务编排流 (按原版 install.sh 的时序严格执行)
|
||||
# (注:这些 do_* 函数将在对应的子模块中定义,原汁原味地保留原有逻辑)
|
||||
# ==========================================================
|
||||
|
||||
# [模块: env_setup.sh]
|
||||
do_env_precheck # 靶机架构预检与调度器降级决策
|
||||
do_fetch_version # 解析运行态版本约束
|
||||
do_install_deps # 多分支包管理器嗅探与极简系统补全
|
||||
|
||||
# [模块: ui_menu.sh]
|
||||
do_fetch_map # 拉取全球节点地图
|
||||
do_handle_menu # 拦截交互菜单 / 决定是否平滑升级 / 卸载
|
||||
|
||||
# 如果用户选择了卸载,子模块会直接 exit,不会执行后续流程
|
||||
|
||||
# [模块: sys_daemon.sh]
|
||||
do_clean_env # 安装前的环境纯净度构建与幽灵进程抹除
|
||||
|
||||
# [模块: ui_menu.sh]
|
||||
do_interactive_setup # 摘取节点信息并构建关联 / 接入 Master 司令部 (仅限全新安装)
|
||||
|
||||
# [模块: net_engine.sh]
|
||||
do_network_probe # 冗余网络栈探测与多出口智能嗅探
|
||||
do_assemble_fallback # 智能主副容灾弹药装填 (Multi-IP Fallback)
|
||||
do_write_config # 远程拉取冷数据并解析固化配置 (仅限全新安装)
|
||||
do_smooth_migrate # 老节点数据格式迁移兼容机制 (仅限平滑升级)
|
||||
|
||||
# [模块: sys_daemon.sh]
|
||||
do_deploy_core # 防变砖双缓冲下载执行域 (覆写引擎)
|
||||
do_inject_daemon # Systemd 原生注入与微内核定时降级兜底
|
||||
|
||||
# [模块: ui_menu.sh]
|
||||
do_final_report # 部署后首播,打入中枢通信网关及指令态势传递
|
||||
do_show_summary # 打印结束横幅与开源推广
|
||||
|
||||
Reference in New Issue
Block a user