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 和文档链接相应更新;
领域行为未在本切片中扩展。后续 Ready/observation 行为应在 Ayatori 内先更新合同与测试,再继续
实现,不能把旧运行链路接回该模型。
边界
- 领域层不依赖 Kubernetes types、数据库 driver 或凭据 provider。
- CredentialReference 只携带管理 Secret 的名称与字段映射,不包含 Secret 内容或 OpenBao path。
- Instance checkpoint 不是外部事实;实际能力必须由 application/adapter 观察后交给领域对象判断。
- 当前代码不授权 Tenant provisioning,也不表示 Database API 已经可用。
设计入口
部署和开发文档描述目标合同,其中旧仓库专属的 Make target、脚手架版本和目录尚未接入 Ayatori; 在对应实现切片完成前,不应把其中命令理解为当前仓库已经可执行的入口。