feat(pikaoa): 添加测试环境自动交付控制面

This commit is contained in:
Codex
2026-07-15 07:01:43 +02:00
parent 2add8477e4
commit 3aebd2561c
14 changed files with 1202 additions and 317 deletions
+9 -7
View File
@@ -78,7 +78,7 @@
5. `secrets sync` 按 YAML 声明补齐允许生成的本地来源,并下发 `pikaoa-test-runtime`。
6. 使用同一 commit 依次执行:
- `--step migration`
- `--step init`,仅初始化全新数据库
- `--step api`
- `--step worker`
- `--step web`。
@@ -87,7 +87,7 @@
## 单步运行
- foundation 不需要 `--commit`,也不检查业务 Secret。
- migration、api、worker、web 和 all 必须显式提供 `--commit`。
- init、api、worker、web 和 all 必须显式提供 `--commit`。
- 每个 `start` 立即返回任务 ID;使用同一 target、instance 和 step 的 `status` 查询终态。
- request identity 包含:
- target
@@ -108,19 +108,21 @@
- 提供新的 `--commit` 修订标识;
- 修改 foundation 的稳定 manifest 结构。
- 不为重跑引入第二状态库、控制器、租约或长期历史存储。
- 迁移、rollout 或运行面查询失败返回具名失败码,不静默进入下一阶段。
- initializer、rollout 或运行面查询失败返回具名失败码,不静默进入下一阶段。
- OTel exporter、配置版本和 commit 对齐漂移只产生 `blocking=false` warning,不恢复 dedicated 门禁。
## 交付阶段
- 当前阶段先稳定 YAML-first CLI 原入口和固定 NC01 测试运行面。
- CLI 闭环通过后,再建设独立 test CI/CD:
- 复用同一 owning YAML
- 按 foundation、Secret sync、migration、api、worker、web 顺序编排
- `pikaoa-test-nc01` 独立 test CI/CD 复用同一 owning YAML
- 产品 `master` 只生成 `.tekton/pikaoa-test-nc01-pac.yaml`
- API、Worker、Web 并行构建并以 digest 发布 GitOps
- initializer 通过 Argo `PreSync` 在 API、Worker、Web 前初始化全新数据库
- 不创建专用测试集群;
- 不生成动态 namespace
- 不创建 namespace-local PostgreSQL
- 不把测试 CI/CD 变成生产交付或用户业务的阻塞门禁。
- GitOps 接管后,手动 `test-target start|stop` mutation 仅用于暂停 Argo 自动同步后的有界调试;禁止 CLI direct-apply 与 Argo 同时写入。
- 生产 `pikaoa-nc01` 保留 `release` source authority,但当前不 bootstrap、不生成 `.tekton`、不创建 PipelineRun。
- PR、构建或单测不能替代固定 NodePort 原入口验收。
## 本地验证