From 575c98c303450bedc0722833c646faaf539c3d2c Mon Sep 17 00:00:00 2001 From: panxiao81 Date: Sun, 27 Sep 2026 19:18:07 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=98=8E=E7=A1=AE=20Ayatori=20?= =?UTF-8?q?=E6=98=BE=E5=BC=8F=E6=B3=A8=E5=85=A5=E5=8F=8A=E9=A2=86=E5=9F=9F?= =?UTF-8?q?=E8=BE=B9=E7=95=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- architecture/ayatori-control-plane.md | 15 +++++++++++++-- services/postgresql-tenant-operator.md | 8 +++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/architecture/ayatori-control-plane.md b/architecture/ayatori-control-plane.md index eb2494a..e19bef5 100644 --- a/architecture/ayatori-control-plane.md +++ b/architecture/ayatori-control-plane.md @@ -60,13 +60,24 @@ infra 能力,不属于第一个使用它们的 Database 领域。启动入口 依赖产品领域,也不为复用而增加全局注册中心或统一包装所有后端的 reader/writer。 优先使用官方 SDK 和 manager 已提供的接口;不同身份与权限范围仍须显式隔离。 -领域按用例需要定义 repository,adapter 保留对象映射、凭据格式、路径、冲突与恢复语义。 -例如 Database 七键凭据及 UID 路径不是通用 KV 规则。此次修订纠正原实现把 Bao 认证放在 +领域维护业务值对象与规则,application 按消费方需要定义 repository 接口,adapter 负责 +对象映射与后端访问。例如 Database 七键凭据、位置约束及冲突恢复不是通用 KV 规则, +也不应因接入 Bao 而把这些业务规则归入 adapter。此次修订纠正原实现把 Bao 认证放在 Database adapter 的归属,认证方式与部署位置约定不变。源码拆分由 [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#进程内依赖边界)。 +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 验证约定 2026-09-24 维护者决定:全量验证自动在 PR 执行,main push 不再重复运行;保留手动入口。 diff --git a/services/postgresql-tenant-operator.md b/services/postgresql-tenant-operator.md index 977d22e..67dee4c 100644 --- a/services/postgresql-tenant-operator.md +++ b/services/postgresql-tenant-operator.md @@ -193,7 +193,8 @@ Database 保留凭据 repository/adapter 语义;装配由独立 bootstrap 包 版本漂移均按 Conflict 人工处理,不认领、不生成替代密码,也不随部署参数搬迁。 按维护者要求,字段切片已扩展为一个完整的凭据准备行为,见 [凭据准备闭环](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,固定位置, 创建并回读,保存确认版本。用例在 application,Kubernetes repository 负责状态写入, controller 只驱动 watch/重查;Bao client 与认证生命周期仍由公共 infra 统一装配。 @@ -204,6 +205,11 @@ controller 只驱动 watch/重查;Bao client 与认证生命周期仍由公共 删除边界;完整集成回归通过,但这不是现场验证。只有 CredentialsReady 可以为 True, 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。 - 应用密码写入 OpenBao,不进入 CR、Event 或日志;ESO 负责向 Kubernetes 消费者投射。 - Database 默认 Retain;删除 Tenant 保留资源对象与数据,Released 不自动重新分配。