46 lines
2.6 KiB
Markdown
46 lines
2.6 KiB
Markdown
# Database 模块
|
||
|
||
Database 是 Ayatori 首批实际产品领域之一。第一个迁移切片只建立 PostgreSQL Instance 的纯领域
|
||
模型,不注册 CRD、不启动 controller,也不访问 PostgreSQL、OpenBao 或 Kubernetes Secret。
|
||
|
||
## 来源基线
|
||
|
||
完整设计合同及首批领域模型与测试提取自原 PostgreSQL Tenant Operator:
|
||
|
||
- 仓库:`git.ddupan.top/panxiao81/postgresql-tenant-operator`
|
||
- source commit:`dae546e58efa1be81e930861c87f7fb13bb12113`
|
||
- 原路径:`internal/domain/instance/`、`docs/domain-instance.md`
|
||
- 迁移日期:2026-09-20
|
||
|
||
本目录迁入该基线的 specification、architecture、API、领域、部署、安全、开发、迁移与运维
|
||
文档,并只进行 Ayatori 产品归属、API group、目录和链接适配;其余已批准行为保持不变。
|
||
|
||
迁移只使用该 commit 中已提交的文件。源仓库
|
||
`feature/instance-extension-observations` 工作树中的 `instance.go` 修改与
|
||
`instance_extensions_test.go` 未进入本切片。
|
||
|
||
代码被移动到 Ayatori 的 `internal/database/domain/instance`,测试 import 和文档链接相应更新;
|
||
首个后续切片按已批准合同增加 Instance extension observation:观测与当前 target 绑定,进入重新
|
||
验证或删除时失效,且支持判定不授权 Tenant provisioning。后续 Ready 切片实现管理能力判定、
|
||
registry 准备决策与完整回读、Ready 重验及本轮 evidence 前置检查;沿用已批准合同,不能把旧运行
|
||
链路接回该模型。各层验证边界见 [Instance 领域规格](domain-instance.md)。
|
||
|
||
## 边界
|
||
|
||
- 领域层不依赖 Kubernetes types、数据库 driver 或凭据 provider。
|
||
- CredentialReference 只携带管理 Secret 的名称与字段映射,不包含 Secret 内容或 OpenBao path。
|
||
- Instance checkpoint 不是外部事实;实际能力必须由 application/adapter 观察后交给领域对象判断。
|
||
- 当前代码只检查 Instance 供应前置条件,不授予 Tenant 所有权或外部写入权限,也不表示
|
||
Database API 已经可用。
|
||
|
||
## 设计入口
|
||
|
||
- [系统规格](specification.md):规范性行为与验收标准;
|
||
- [架构](architecture.md)与[API 合同](api-reference.md);
|
||
- [领域模型](domain-model.md)与[Instance 领域规格](domain-instance.md);
|
||
- [安全](security.md)、[迁移](migration.md)与[运维](operations.md);
|
||
- [部署合同](deployment.md)与[开发测试合同](development.md)。
|
||
|
||
部署和开发文档描述目标合同,其中旧仓库专属的 Make target、脚手架版本和目录尚未接入 Ayatori;
|
||
在对应实现切片完成前,不应把其中命令理解为当前仓库已经可执行的入口。
|