fix(cd): self-heal harbor registry gate on 110
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 36s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-30 20:19:21 +08:00
parent 1d97b3ffea
commit 6d7f05c65a
3 changed files with 104 additions and 7 deletions

View File

@@ -1,3 +1,19 @@
## 2026-06-30 — 20:22 Harbor gate CD self-heal 接入
**照主線修正的問題**
- Public Gitea CD `#4051` 已失敗classifier=`harbor_registry_public_route_unavailable``registry_v2_status=502`、Harbor login attempt `12/12`tests job 已成功,卡點是 registry runtime不是 API 程式測試。
- `.gitea/workflows/cd.yaml``Login to Harbor` gate 新增 controlled self-heal當 public `/v2/``200/401` 時,只在 runner 本機有 `192.168.0.110``/usr/local/bin/harbor-watchdog.sh` 可執行時,先跑 `--check`,只有 check 證明不健康才跑一次 `--repair-once`,再重新 probe public registry `/v2/`
- 非 110 host、watchdog 不存在、非互動 sudo 不可用、check marker 不存在時一律 fail-closed保留原本 `BLOCKER harbor_registry_public_route_unavailable` 與 110 local console / restored SSH next action。
- `ops/runner/test_cd_controlled_runtime_profile.py` 鎖住 self-heal 邊界110 IP target、`AWOOOI_CD_HARBOR_CONTROLLED_REPAIR``sudo -n`、watchdog check/repair-once、不得 `systemctl restart docker` 或 reboot。
**驗證**
- `bash -n .gitea/workflows/cd.yaml``git diff --check` 通過。
- `py_compile``ruff check` 通過。
- focused pytest`32 passed`
- `guard-gitea-runner-pressure.py``auto_branch_events_on_110=0``generic_runner_labels=0``check-gitea-step-env-secrets.js` 通過。
**邊界**:未讀 secret / token / `.env` / raw sessions / SQLite / auth未使用 GitHub / `gh` / GitHub API未 workflow_dispatch未在目前 Codex session 直接 SSH / Docker / Nginx / K3s / DB / firewall 寫入CD self-heal 僅允許 110-local watchdog bounded repair-once禁止 Docker daemon restart、host reboot、node drain、provider switch 或 force push。
## 2026-06-30 — 20:21 Harbor registry controlled recovery receipt validator
**照主線修正的問題**