@@ -60,13 +60,24 @@ infra 能力,不属于第一个使用它们的 Database 领域。启动入口
|
|||||||
依赖产品领域,也不为复用而增加全局注册中心或统一包装所有后端的 reader/writer。
|
依赖产品领域,也不为复用而增加全局注册中心或统一包装所有后端的 reader/writer。
|
||||||
优先使用官方 SDK 和 manager 已提供的接口;不同身份与权限范围仍须显式隔离。
|
优先使用官方 SDK 和 manager 已提供的接口;不同身份与权限范围仍须显式隔离。
|
||||||
|
|
||||||
领域按用例需要定义 repository,adapter 保留对象映射、凭据格式、路径、冲突与恢复语义。
|
领域维护业务值对象与规则,application 按消费方需要定义 repository 接口,adapter 负责
|
||||||
例如 Database 七键凭据及 UID 路径不是通用 KV 规则。此次修订纠正原实现把 Bao 认证放在
|
对象映射与后端访问。例如 Database 七键凭据、位置约束及冲突恢复不是通用 KV 规则,
|
||||||
|
也不应因接入 Bao 而把这些业务规则归入 adapter。此次修订纠正原实现把 Bao 认证放在
|
||||||
Database adapter 的归属,认证方式与部署位置约定不变。源码拆分由
|
Database adapter 的归属,认证方式与部署位置约定不变。源码拆分由
|
||||||
[PR #13](https://git.ddupan.top/panxiao81/ayatori/pulls/13) 跟踪,2026-09-27 经维护者批准合并;
|
[PR #13](https://git.ddupan.top/panxiao81/ayatori/pulls/13) 跟踪,2026-09-27 经维护者批准合并;
|
||||||
实现与详细约定见
|
实现与详细约定见
|
||||||
[6b2808c 的总体架构](https://git.ddupan.top/panxiao81/ayatori/src/commit/6b2808ce91b03215f466746a15d0c3d7442bb9d4/docs/architecture/overview.md#进程内依赖边界)。
|
[6b2808c 的总体架构](https://git.ddupan.top/panxiao81/ayatori/src/commit/6b2808ce91b03215f466746a15d0c3d7442bb9d4/docs/architecture/overview.md#进程内依赖边界)。
|
||||||
|
|
||||||
|
2026-09-27 维护者进一步确认采用 Wire 风格的显式构造器注入:当前规模由 bootstrap
|
||||||
|
集中手写装配,不引入运行时 IoC 容器或代码生成依赖。controller 接收装配完的用例,
|
||||||
|
不在 Reconcile 或注册过程中创建 adapter/use case。application 保留 I/O 编排、消费方
|
||||||
|
接口及并发快照;凭据值对象、准备资格和恢复规则归领域,Kubernetes Conditions 映射归
|
||||||
|
adapter。此约定用于纠正业务规则混入 application 及装配分散的问题,不要求把所有接口
|
||||||
|
和临时数据结构搬进领域。实现见待审阅的
|
||||||
|
[PR #15](https://git.ddupan.top/panxiao81/ayatori/pulls/15),具体边界与测试见
|
||||||
|
[7834cab 的总体架构](https://git.ddupan.top/panxiao81/ayatori/src/commit/7834cab/docs/architecture/overview.md#进程内依赖边界);
|
||||||
|
不改变现有 API 或凭据协议,尚未部署。
|
||||||
|
|
||||||
## CI 验证约定
|
## CI 验证约定
|
||||||
|
|
||||||
2026-09-24 维护者决定:全量验证自动在 PR 执行,main push 不再重复运行;保留手动入口。
|
2026-09-24 维护者决定:全量验证自动在 PR 执行,main push 不再重复运行;保留手动入口。
|
||||||
|
|||||||
@@ -193,7 +193,8 @@ Database 保留凭据 repository/adapter 语义;装配由独立 bootstrap 包
|
|||||||
版本漂移均按 Conflict 人工处理,不认领、不生成替代密码,也不随部署参数搬迁。
|
版本漂移均按 Conflict 人工处理,不认领、不生成替代密码,也不随部署参数搬迁。
|
||||||
按维护者要求,字段切片已扩展为一个完整的凭据准备行为,见
|
按维护者要求,字段切片已扩展为一个完整的凭据准备行为,见
|
||||||
[凭据准备闭环](https://git.ddupan.top/panxiao81/ayatori/src/commit/35ada6d7eb58245c5214632282178b145489d0dc/docs/database/README.md#凭据准备闭环),
|
[凭据准备闭环](https://git.ddupan.top/panxiao81/ayatori/src/commit/35ada6d7eb58245c5214632282178b145489d0dc/docs/database/README.md#凭据准备闭环),
|
||||||
仍在 [PR #14](https://git.ddupan.top/panxiao81/ayatori/pulls/14) 审阅,未合并、未部署。
|
已随 [PR #14](https://git.ddupan.top/panxiao81/ayatori/pulls/14) 在 CI 三项检查通过后合并
|
||||||
|
(合并提交 `72ce3ed`),未部署。
|
||||||
显式设置 `--database-credential-mount` 后启用:校验双向绑定和 Instance,固定位置,
|
显式设置 `--database-credential-mount` 后启用:校验双向绑定和 Instance,固定位置,
|
||||||
创建并回读,保存确认版本。用例在 application,Kubernetes repository 负责状态写入,
|
创建并回读,保存确认版本。用例在 application,Kubernetes repository 负责状态写入,
|
||||||
controller 只驱动 watch/重查;Bao client 与认证生命周期仍由公共 infra 统一装配。
|
controller 只驱动 watch/重查;Bao client 与认证生命周期仍由公共 infra 统一装配。
|
||||||
@@ -204,6 +205,11 @@ controller 只驱动 watch/重查;Bao client 与认证生命周期仍由公共
|
|||||||
删除边界;完整集成回归通过,但这不是现场验证。只有 CredentialsReady 可以为 True,
|
删除边界;完整集成回归通过,但这不是现场验证。只有 CredentialsReady 可以为 True,
|
||||||
PostgreSQL 创建、ESO 交付和删除回收尚未接入,Database/Tenant 不能据此宣告 Ready。
|
PostgreSQL 创建、ESO 交付和删除回收尚未接入,Database/Tenant 不能据此宣告 Ready。
|
||||||
|
|
||||||
|
凭据准备的分层进一步按维护者确认的
|
||||||
|
[显式装配与领域边界](../architecture/ayatori-control-plane.md#controller-公共基础设施边界)
|
||||||
|
重构,见待审阅的 [PR #15](https://git.ddupan.top/panxiao81/ayatori/pulls/15)。
|
||||||
|
该重构不扩展供应范围或修改凭据协议;本地完整集成回归已通过,尚未合并或部署。
|
||||||
|
|
||||||
- operator 管理实例内的租户资源,不运行 PostgreSQL/OpenBao,也不管理 VM、存储、备份或 OpenBao PKI。
|
- operator 管理实例内的租户资源,不运行 PostgreSQL/OpenBao,也不管理 VM、存储、备份或 OpenBao PKI。
|
||||||
- 应用密码写入 OpenBao,不进入 CR、Event 或日志;ESO 负责向 Kubernetes 消费者投射。
|
- 应用密码写入 OpenBao,不进入 CR、Event 或日志;ESO 负责向 Kubernetes 消费者投射。
|
||||||
- Database 默认 Retain;删除 Tenant 保留资源对象与数据,Released 不自动重新分配。
|
- Database 默认 Retain;删除 Tenant 保留资源对象与数据,Released 不自动重新分配。
|
||||||
|
|||||||
Reference in New Issue
Block a user