Files
pikasTech-unidesk/docs/MDTODO/details/web-sentinel-runtime-reliability/R2.1_Task_Report.md
T
Codex 5b4ad5e9f3
Pipelines as Code CI / hwlab-web-probe-sentinel-nc01- Success
Pipelines as Code CI / platform-infra-gitea-nc01- Success
Pipelines as Code CI / unidesk-host- Success
docs: 冻结 Monitor 中心持久化架构
2026-07-12 21:48:13 +02:00

1.8 KiB
Raw Blame History

R2.1 任务报告

完整只读审计见 UniDesk #1869,执行任务为 qt_c4072b7278ed409f94dc271d69f39540。

需求与失效边界

  • 架构已从 #891 的单一 24 小时 dry-run 演进为多 runner、全局 latest/history、Dashboard、cadence freshness 与 OTel#1861 是执行到 record/index 断点的局部实证,不是唯一架构依据。
  • 当前 monitorRoot 只是选择某个 sentinel 的 public root,不是中心聚合服务。
  • 每 runner 私有 SQLite 在单实例可用,但跨 runner 必然产生多权威、fan-out、部分失败和不同 latest 语义。
  • monitor-web 绑定当前 runner API,并对历史 run 发出 N+1 detail 请求;聚合留在 UI 会使 CLI、页面和服务看到不同事实。
  • runner 服务同时持有执行、索引、查询和前端,已越过可维护边界。

必须满足

  • 配置、Host PG role/database/export/Secret consumer、迁移与切换状态全部 YAML-first。
  • 每 sentinel 只有一个 cadence/CronJob 调度权威,并明确区分业务 cadence 与 heartbeat。
  • runner 负责 observe/analyze 与不可变 artifact;中心 Monitor 拥有全局 durable index/read model。
  • global latest/history/finding/artifact locator 由同一中心 API 选择,CLI 与 monitor-web 共用。
  • 复用 NC01 Host PG;一次性迁移可计数、校验、切换、回滚,完成后无永久双写、SQLite fallback 或第二索引。
  • 近 3000 行 service 按执行、持久化、查询和 UI 边界拆分。

方案选择

拒绝 runner API fan-out 聚合与共享 runner/PVC/SQLite。采用中心 Monitor service + NC01 Host PGrunner 保留执行与 artifact ownermonitor-web 只读中心 API。artifact 文件是否迁移由 R2.2 冻结。