docs: 同步 Database API 合并与原生管理权限方案
docs / check (push) Successful in 13s

This commit is contained in:
2026-09-25 11:34:14 +00:00
parent 106fc29001
commit 388e3f86f4
2 changed files with 23 additions and 6 deletions
+12 -3
View File
@@ -104,10 +104,11 @@ Delete 即为删除授权,不加第二次审批。动态凭据路径按 Databa
已有凭据位置;Released 不自动改密,重新开放前由管理员处理旧访问。
对应 Ayatori `docs/database/specification.md`、`domain-model.md` 与 `api-reference.md`
已推送为 [7e9e8e8](https://git.ddupan.top/panxiao81/ayatori/commit/7e9e8e828bfcbdc8d4e2fcb6bc3d13727712a82c),
由 [Ayatori PR #10](https://git.ddupan.top/panxiao81/ayatori/pulls/10) 跟踪;尚未合并。
已随 [Ayatori PR #10](https://git.ddupan.top/panxiao81/ayatori/pulls/10) 通过三项 CI 并合并 main,
合并版本为 [55b269c](https://git.ddupan.top/panxiao81/ayatori/commit/55b269ce2eb40f6b44c1afe838389093efdac98e)。
Ayatori 的 `feat/database-resource-api` 工作区已加入三资源 Go 类型、生成 CRD、Scheme 注册
与 YAML 示例,已包含在上述本地提交,尚未发布。`make test` 使用真实 API server 验证作用域、默认值、声明
Ayatori main 已加入三资源 Go 类型、生成 CRD、Scheme 注册与 YAML 示例,尚未部署为业务服务。
`make test` 使用真实 API server 验证作用域、默认值、声明
校验、status 隔离、绑定写入版本冲突与示例。绑定 controller 已接入 manager:动态资源按
Tenant UID 命名,先写资源侧绑定,再回读补齐 Tenant status;进入 Binding 后固定申请目标,
拒绝 Released、旧 UID 和陈旧 Ready 观察。真实 API server 覆盖部分写入故障后新 reconciler
@@ -147,6 +148,14 @@ GitOps、Terraform、kubectl 和未来 Backstage 计划共用这套 Kubernetes A
## 职责边界
2026-09-25 维护者确认第一版 PostgreSQL 管理账号使用原生非 superuser 方案,具有
CREATEDB/CREATEROLE,不引入 SECURITY DEFINER 接口。扩展安装按实际权限逐请求验证,
可用列表不等于任意扩展均可安装;基础管理能力不授予导入或接管他人资源的权限。
这项决定沿用原安全文档的非 superuser 原则,并明确了此前未选定的实施方式。
Instance 观测、Secret watch 与删除引用保护的后续实现目前位于 Ayatori
`feat/database-instance-observation` 工作区,尚未提交/发布;权限矩阵、启用方式和测试边界
以该工作区 `docs/database/README.md`、`security.md` 为准,不能把 main 的旧实现当成已具备该能力。
- operator 管理实例内的租户资源,不运行 PostgreSQL/OpenBao,也不管理 VM、存储、备份或 OpenBao PKI。
- 应用密码写入 OpenBao,不进入 CR、Event 或日志;ESO 负责向 Kubernetes 消费者投射。
- Database 默认 Retain;删除 Tenant 保留资源对象与数据,Released 不自动重新分配。
+11 -3
View File
@@ -86,13 +86,21 @@ wiki 权威摘要:[DBaaS 设计](services/postgresql-tenant-operator.md#当前
删除前策略可改与 Database UID 凭据定位的决定已同步到
[DBaaS 设计](services/postgresql-tenant-operator.md#当前资源模型2026-09-24-已确认)。
依据维护者当日确认;Ayatori 已提交为 `7e9e8e828bfcbdc8d4e2fcb6bc3d13727712a82c`,
源码已推送至 [Ayatori PR #10](https://git.ddupan.top/panxiao81/ayatori/pulls/10),
源码已通过 [Ayatori PR #10](https://git.ddupan.top/panxiao81/ayatori/pulls/10) 的三项 CI,
并于同日按维护者要求合并为
[55b269c](https://git.ddupan.top/panxiao81/ayatori/commit/55b269ce2eb40f6b44c1afe838389093efdac98e)。
wiki 按维护者要求直接合入 main,原 [wiki PR #3](https://git.ddupan.top/panxiao81/homelab-wiki/pulls/3)
保留为历史讨论入口;后续纯文档变更不另开 PR。
关联源码:[7e9e8e8](https://git.ddupan.top/panxiao81/ayatori/commit/7e9e8e828bfcbdc8d4e2fcb6bc3d13727712a82c)。
这只是第一版 API 范围确认,不表示新资源链路已实现。
后续 `feat/database-resource-api` 工作区已实现三资源 schema 与真实 API server 校验,
本地 `make test` 通过;实现已包含在上述提交,远端 CI 结果以 PR 为准。已接入绑定
上述已合并实现包含三资源 schema 与真实 API server 校验,
本地 `make test` 与远端 CI 均通过。已接入绑定
controller、目标固定、finalizer 保留与生成 RBAC,真实 API server 验证并发、补写及 watch。
尚未实现 finalizer 清理、供应与交付,不宣称完成三资源生命周期或现场验收。
同日确认原生非 superuser + CREATEDB/CREATEROLE 管理方案,已同步至
[DBaaS 职责边界](services/postgresql-tenant-operator.md#职责边界)。后续 Instance 观测链路在
`/tmp/ayatori-database-domain` 的 `feat/database-instance-observation` 分支,尚未提交;本地已通过
全量测试、三轮 controller/application race、真实 PostgreSQL/API server 集成测试及普通/integration lint。
源码文档已经同步,但固定 commit/PR 链接待提交后补齐,不代表已合并、部署或现场验收。