fix(cicd): make PaC delivery observe single-capture

This commit is contained in:
pikastech
2026-07-19 06:03:50 +02:00
parent a3e262d3ac
commit d852e65245
8 changed files with 357 additions and 18 deletions
+3
View File
@@ -106,6 +106,9 @@ bun scripts/cli.ts hwlab nodes control-plane legacy-cicd --help
- PaC consumer 按 source commit 做发布后取证:
- 唯一推荐入口是 `platform-infra pipelines-as-code delivery-observe --target <NODE> --consumer <id> --source-commit <full-sha>`
- 一次 target-side capture 直接返回匹配的 PipelineRun、Argo sync/health 与首个退化资源或 condition、同 namespace exact-source workloads、ready/digest、首断点和 `complete|partial|blocked`
- 该入口只复用节点级轻量快照,一次批量读取 PipelineRun、Argo Application 与 Deployment
- 禁止在入口内部调用完整 `status`、同步读取 TaskRun/log、执行 Git fetch 或拼接第二个 history 状态源;
- 任一批量读取失败时必须保留 typed `readErrors` 和最后成功阶段,不得提高 YAML timeout 或把读取失败投影为对象缺失;
- 固定 `remoteCaptureCount=1``mutation=false`,不得再手工串联 `status``history``delivery-timing` 或裸 Kubernetes 对象查询;
- `complete` 表示 PipelineRun、exact-source runtime 与 Argo 全部就绪;`partial` 保留已成立的 exact-source 证据并明确 Argo 或 runtime 首断点;`blocked` 表示目标读取失败、source 不匹配、PipelineRun 未成功或当前 runtime 未观察到该 source
- TaskRun artifact 日志默认延后时只披露 `artifactEvidence.deferred=true`,不放宽既有 status evaluator,也不伪造 provenance。