Files
awoooi/.gitea/workflows
OG T 7542e6e570
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 11m38s
feat(cd): ADR-090-B CD 注入 L2→L3 13 個 key — 消滅 K8s 單點盲區
2026-04-18 下午(台北時區)—— ogt + Claude Opus 4.7 (1M)

背景:
Memory feedback_secrets_leak_incidents + reference_secrets_architecture_v2
定義 L1-L4 分層架構。盤點發現 14 個 K8s secret key 只存在 L3(K8s etcd)
而無 L2(Gitea Secret)備援,etcd 故障或 secret 誤刪將永久遺失。

本 commit 補上 13 個 key 的 L2→L3 CD 自動注入(SMTP_USER/SMTP_PASSWORD 仍為
CHANGE_ME 跳過):
  DATABASE_URL / MIGRATION_DATABASE_URL (ADR-090-B 新增)
  REDIS_URL / JWT_SECRET / JWT_ALGORITHM
  WEBHOOK_HMAC_SECRET (之前 L2 有但 CD 沒引)
  SENTRY_DSN / CLAUDE_API_KEY
  GITEA_API_TOKEN (via AWOOOI_GITEA_API_TOKEN 前綴繞過 Gitea 保留字)
  NEMOTRON_BOT_TOKEN / OPENCLAW_BOT_TOKEN
  SMTP_HOST / SRE_GROUP_CHAT_ID

模式:
完全照既有 cd.yaml `Inject K8s Secrets` step 模式 — env: 引用 +
if [ -n ] guard + kubectl patch json op=add + base64 -w 0 + echo 結果。
110 行新增,0 行刪除,YAML 語法驗證通過。

安全:
Gitea Secret 值從 K8s 現有 secret 同步(保持一致),本 CD run 為 no-op patch。
未來 K8s secret 誤刪或 rebuild 可從 Gitea 一鍵恢復。

相關:
  - docs/superpowers/specs/2026-04-18-blindspot-governance-capacity-l4.md
  - docs/adr/ADR-090-monitoring-blindspot-governance.md
  - apps/api/migrations/adr090b_awoooi_migrator_role.sql

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 15:26:28 +08:00
..