4.3 KiB
4.3 KiB
ARM 公网健康监控受控部署实施计划
1. Local Quality Gate
- 确认当前 HEAD 包含
a0f0483,并从该提交核验探测器、helper、安装器来源。 - 确认本任务之外的报销工作区改动不进入部署源、暂存或提交。
- 运行应用健康合同、自动备份合同、安装器语法和必要治理门禁。
- 记录三个部署源 SHA-256 的匹配证据,不输出无关路径或内容。
2. ARM Read-only Preflight
- 通过既有受控 alias 连接,核对身份与非交互 root 入口。
- 只读检查 Python/systemd、公网
/ready、应用健康 service/timer、备份 dead-man service/timer。 - 在远端内部解析 webhook 路径,只返回 regular-file/root/0600 布尔结果。
- 严格校验现有 probe/alert state 的允许字段、schema/phase 和 mode,不打印原始 JSON。
- 记录升级前探测器/helper/units 的哈希与 timer enabled/active 基线。
- 任一门禁异常时停止;不上传、不写 systemd、不调整权限。
3. Rollback Preparation and Disabled Install
- 在 ARM 同一受控文件系统创建本次唯一回滚目录,复制精确的受管 probe/helper/units 和允许的状态证据;逐项核对普通文件、owner/mode 和哈希。
- 创建本次唯一临时上传目录,传输提交版本的探测器、helper、安装器并核对 SHA-256。
- 使用远端内部 webhook 路径运行安装器
install。 - 验证 timer disabled/inactive、service inactive、固定 ExecStart/5 分钟合同、owner/mode、已安装文件哈希和状态目录隔离。
- 如失败,按设计矩阵恢复升级前文件并停在 disabled 状态。
4. Disabled Health Verification
- timer 保持 disabled,启动一次正式 systemd service 对真实公网
/ready探测。 - 验证 service 成功、probe state schema v2/phase 合法、状态文件
0600,且未出现非预期通知状态变化。 - 再次核对备份 dead-man 基线不变。
- 只有全部通过才进入 enable。
5. Controlled Enable and Observation
- 运行安装器
enable,确认 timer enabled/active 和 5 分钟调度合同。 - 不制造故障、不变更 URL/DNS、不直接调用机器人。
- 观察至少两个连续 timer 窗口,核对两次 service 成功、状态合法、无重复消息异常。
- 核对备份 dead-man enabled/active 与升级前一致。
6. Cleanup and Closeout
- 精确删除本次临时上传目录;回滚材料在完成观察和最终确认前保留,后续清理由独立授权处理。
- 若使用临时 sudoers,精确删除并验证原权限基线恢复。
- 更新当前 task 的脱敏执行证据与 AC;不新建无必要文档。
- 运行 task validate、Trellis governance、敏感扫描和
git diff --check。 - 只提交当前 task 必要的执行记录;不纳入并行报销任务改动。
Validation Commands
bash scripts/qa/run-app-health-monitor-contract.sh
bash scripts/qa/run-automatic-backup-contract.sh
bash -n deploy/trialrun/install-offhost-app-health-monitor.sh
node scripts/qa/check-process-contract.mjs --baseline --json
node scripts/qa/check-trellis-governance.mjs
python3 ./.trellis/scripts/task.py validate 08-23-arm-public-health-monitor-controlled-rollout
git diff --check
远端命令通过受控 alias 和远端内部变量执行;任务文档不固化主机、用户名、完整路径、webhook 或原始输出。
Risky Targets and Stop Points
- 共用 helper:部署前必须通过自动备份共享合同;远端不得触发 dead-man。
- probe state:v1→v2 后旧版不能直接回读;回滚必须保留并移出精确 v2 状态,不能手改伪造。
- installer
install:会先停 timer 并覆盖受管文件;调用前必须已有可验证的同机回滚副本。 enable:会恢复 ARM 对腾讯云 OA 的真实公网监控,真实异常可能自然触发群消息;disabled oneshot 未通过不得执行。- 任何密码提示、状态不一致、哈希漂移、真实
/ready异常或 dead-man 基线变化:立即停止并按阶段回滚。
Approval Boundary
本计划覆盖:ARM 受管文件/systemd 写入、disabled 安装、正式 /ready oneshot、受控启用和两个调度窗口观察。
本计划不覆盖:DNS 修改、故障注入、真实企微测试消息、业务数据写入、备份配置修改或历史材料清理。