fix(ci): reopen hard-limited controlled cd lane
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m42s
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / build-and-deploy (push) Successful in 6m33s
CD Pipeline / post-deploy-checks (push) Successful in 3m10s

This commit is contained in:
Your Name
2026-06-28 11:52:33 +08:00
parent 18b4f53e26
commit 4414ec991f
11 changed files with 342 additions and 59 deletions

View File

@@ -406,30 +406,26 @@ Gitea service 名稱。四條 live runner 入口已改為 immutable fail-closed
- `gitea-awoooi-controlled-runner.service`
- `gitea-act-runner-awoooi-open.service`
`awoooi-cd-lane.service` `awoooi-cd-lane-drain.service` 已納入 110 容量事故
fail-closed 面。僅有 `capacity=1`、label 僅限 `awoooi-ubuntu` / `awoooi-host`
或 binary verifier 不足以恢復 lane不得再靠 `/run/awoooi-cd-lane-enabled`
`AWOOOI_START_CONTROLLED_CD_LANE=1`、root quarantine restore 或 startup opener
重新啟動。
目前 verifier 必須讀回:
- regular lane fail-closed。
- drain lane fail-closed。
- runner / cd-lane process count `0`
- active job containers `0`
- `/root/awoooi-cd-lane-disabled-*``/root/awoooi-cd-lane-drain-disabled-*`
restore-source left `0`
`awoooi-cd-lane.service` 是專用 controlled lane不屬於 legacy runner mask 清單;
只有在 `/run/awoooi-cd-lane-enabled` `AWOOOI_START_CONTROLLED_CD_LANE=1`
存在、`capacity=1`、label 僅限 `awoooi-ubuntu` / `awoooi-host`沒有
`ubuntu-latest` / StockPlatform / headless / Playwright 類泛用重型 label
systemd CPU / memory / tasks 限流、root restore-source left `0`
post-apply verifier 可讀回 `CD_LANE_CONTROLLED ok=1` 時,才可受控恢復。
未滿足條件時 cd-lane 應回到 static `/bin/false` unit 與 shell stub。
未完成 runner 搬遷、限流、smoke 排程前,不得解除 legacy mask、恢復泛用 runner label
或把 host pressure gate 預設改成 warn-only。
2026-06-28 controlled updatemain 曾短暫重開 controlled CD lane / drain lane
live evidence 顯示 opener 會從 `/root/awoooi-cd-lane-drain-disabled-*` 復活
drain lane 並拉起 job container。因此目前 source-of-truth 回到 manual-only /
fail-closed。恢復自動 CD 必須另開 runner 搬遷或硬限流變更,包含 target selector、
source diff、check-mode / dry-run、rollback、post-apply verifier 與 root
restore-source left `0` readback。
2026-06-28 controlled update舊的 manual-only / freeze guard 已改為分流判讀。
legacy runner 仍維持 masked / fail-closed專用 `awoooi-cd-lane.service`
`awoooi-cd-lane-drain.service` 只要通過 capacity、label、binary、process 與
systemd limit、root restore-source left `0`、post-apply verifier可作為
AWOOOI 專用受控部署 lane。
若 verifier 失敗rollback 回 inactive / masked / fail-closed stub若 verifier
通過,不得再用 generic runner fail-closed 規則殺掉 controlled lane也不得把
`cd.yaml` / `code-review.yaml` 長期停在 `workflow_dispatch` only。
---
版本: v2.0 | 更新: 2026-03-29 | 作者: Claude Code