docs: 完善 v1alpha1 设计与运维合同

This commit is contained in:
2026-09-10 05:23:33 +00:00
parent 4823eeb767
commit a723372c6e
10 changed files with 732 additions and 91 deletions
+13 -8
View File
@@ -30,14 +30,17 @@ kubeconfig 或本地生成的二进制。
## 开发循环
1. 从最新 `main` 创建分支。
2. 先用测试描述预期的 reconcile 行为,再实现最小改动。
3. 修改 API type 或 Kubebuilder marker 后运行:
2. 先新增或修改规格,覆盖范围、非目标、外部行为、校验、失败语义、安全边界和验收
标准;获得人工批准前不得实现行为。
3. 从已批准验收标准派生失败测试,再实现最小纵向切片。若实现暴露规格歧义,返回
规格阶段重新审批。
4. 修改 API type 或 Kubebuilder marker 后运行:
```sh
make manifests generate
```
4. 提交前运行:
5. 提交前运行:
```sh
make test
@@ -45,9 +48,11 @@ kubeconfig 或本地生成的二进制。
git diff --exit-code
```
5. 推送分支并创建 PR。PR 说明应包含动机、行为变化、验证方式,以及对数据库或
OpenBao 的风险。
6. CI 通过后 squash merge,删除已合并分支。
6. 达到一个小而完整、可独立 review 的边界时,先请求批准再创建 commit;一个 PR
可以包含多个这样的 commit。
7. 推送分支后,在创建 PR 前再次请求批准。PR 说明应包含规格链接、动机、行为变化、
验证方式,以及对 PostgreSQL、OpenBao、ESO 和凭据的风险。
8. CI 通过后按仓库策略合并,删除已合并分支。
`make test-e2e` 会创建并删除名为
`postgresql-tenant-operator-test-e2e` 的 Kind 集群,只能在隔离环境运行,不能指向
@@ -74,8 +79,8 @@ Docker daemon,供 Kind 创建临时节点容器。建议在 Gitea 中保护 `m
- 外部调用必须有超时、可重试,并区分永久错误与暂时错误。
- 日志、Event、Condition message 和测试输出不得包含密码或管理凭据。
- 默认删除策略是 `Retain`;任何实际销毁路径都必须有 finalizer 和独立测试。
- controller 测试优先使用 fake PostgreSQL/OpenBao client;API 交互使用 envtest;真实
组件集成留给 Kind e2e。
- controller 测试优先使用 fake PostgreSQL/OpenBao/ESO client;API 交互使用 envtest;
PostgreSQL/OpenBao adapter 使用 Docker 集成测试,完整网络和 ESO 投射留给 Kind E2E。
## API 变更