fix: materialize Gitea bootstrap credentials
This commit is contained in:
@@ -45,6 +45,17 @@
|
||||
- 最终吸收 `origin/master@3aaa2616`。
|
||||
- R1.2 保持 `[completed]`,`R1.2_Task_Report.md` 保留。
|
||||
|
||||
## 本轮 bootstrap Secret 物化修复
|
||||
|
||||
- PR #1926 合并后的只读运行面证据显示,candidate Pod 因 `devops-infra/gitea-github-sync-secrets` 缺少 `github-token-pikainc-selfmedia` 而失败;live Secret 脱敏 key 列表只有全局 `github-token`、Gitea 管理员与 webhook secret。
|
||||
- 旧 Deployment/reconciler 仅引用全局 `github-token`;candidate desired manifest 已引用 repository key,因此故障发生在 YAML credential 选择之后、Secret 物化之前。
|
||||
- 根因确认:`run_mirror_bootstrap()` 读取 repository token 并创建 Gitea repo,但从未执行 `run_apply()` 内的 webhook Secret upsert。此前“bootstrap 已写入 key”的现场假设不成立。
|
||||
- 修复将 Secret upsert 抽为 `upsert_webhook_sync_secret()`,由 `run_apply()` 与 `run_mirror_bootstrap()` 复用。bootstrap 在任何 Gitea admin/repository mutation 前物化完整 Target/owner YAML credential key 集合;失败时显式 `return 1`,`apiBootstrap.skipped=true`、`valuesPrinted=false`。
|
||||
- bootstrap 的 Secret key map 由本次实际加载的 `githubTokens` keys 生成,selfmedia override 不回落或合并到全局 token,也不会删除同 Target/owner 的其他 YAML repository keys。Secret 值未进入 GitOps、Git、日志或报告。
|
||||
- 行为测试使用 fixture token 模拟全部 key 与 Secret apply 失败,不读取宿主 sourceRef;断言两个 GitHub key 均物化、失败时不发生后续 Gitea mutation。
|
||||
- 主代理按 `bun.lock` 执行 `bun install --frozen-lockfile`,未修改 package/lock;`sh -n`、`git diff --check` 与 payload/config/PaC bootstrap 三个测试文件共 14/14 通过。
|
||||
- 受控 webhook status 已可读取 `pikainc/selfmedia` master HEAD `6e6a95297c3c153ab269410a079a997adc345774`,先前 `github-api-get-404` 已消失;生产 Hook 尚未创建,R1.1 继续保持 `in_progress`。
|
||||
|
||||
## 未执行事项
|
||||
|
||||
- 未创建假 token,未复制 SSH 私钥,未修改仓库可见性。
|
||||
|
||||
Reference in New Issue
Block a user