Files
IP-Sentinel/install/build_master.sh

43 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# ==========================================================
# 模块名称: build_master.sh (v4.3.0 Orchestrator)
# 核心功能: Master 安装业务总指挥,按原版时序复用组件
# ==========================================================
# 传递中断引信
trap 'exit 1' INT QUIT TERM
# Master 仅需要复用 env_setup 和专属的 master_setup
MODULES=(
"env_setup.sh"
"master_setup.sh"
)
for mod in "${MODULES[@]}"; do
curl -fsSL --connect-timeout 10 --retry 3 "${REPO_RAW_URL}/install/${mod}?t=$(date +%s)" -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
# ==========================================================
# 核心业务原子流 (100% 忠实于原版 install_master.sh 执行时序)
# ==========================================================
# [复用模块: env_setup.sh]
do_master_env_precheck # 预检 (复用了与 Agent 相同逻辑但修改了提示语,见下方)
do_fetch_master_version # 抓取版本
do_master_handle_menu # 拦截指令或展示交互菜单
do_install_deps # [复用 Agent] 多分支依赖安装
# [专属模块: master_setup.sh]
do_master_clean_env # 环境清理
do_master_config # 令牌收集与 conf 生成
do_master_init_db # SQLite 表结构固化
do_master_deploy_core # 覆写内核、守护进程注入
do_master_summary # 态势汇报与回执
exit 0