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
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:
@@ -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
|
||||
|
||||
**照主線修正的問題**:
|
||||
|
||||
Reference in New Issue
Block a user