Instance 阶段性基线:Ready 初版与领域设计 #6

Merged
panxiao81 merged 8 commits from feature/openbao-adapter into main 2026-09-13 15:26:36 +00:00
3 changed files with 16 additions and 6 deletions
Showing only changes of commit a0afbf992c - Show all commits
+7 -3
View File
@@ -138,7 +138,11 @@ registry 不兼容的具体 Condition 映射须在接口规格中确定,不能
管理连接由应用层从 controller namespace 的 Secret 装配;管理员维护 ExternalSecret,
ESO 负责同步。Instance 路径不直接访问 Bao,也不以 Bao/ESO 当前可用性作为就绪条件。
首次装配缺少有效 Secret 时失败;已有凭据可正常访问 PG 时继续按 PG 能力判定。
Secret 更新后的连接刷新协议仍需细化,不在领域对象中实现监听或密码轮换。
检测到所引用 Secret 的有效用户名或密码变化时,应用/基础设施层使用新值重建连接池
并重新采集管理能力观察;metadata 或无关字段变化不重建。不要求 Instance generation
变化,也不能复用旧连接的成功观察来证明新凭据有效。Secret 变化监听、连接释放和
刷新均不进入领域对象;应用层保证旧连接观察不混入刷新后的调用链。
controller 不修改 PostgreSQL 密码、不回写 Secret 或 Bao 管理凭据。
## 5. 状态转换与初始化走查
@@ -192,7 +196,7 @@ Ready --registry 需修复/保存--> InitializingRegistry
## 7. 本轮待评审与后续阻塞项
本轮请先确认字段归属、应用层采集事实/Instance 纯决策的分工、方法与状态转换合同。
管理 Secret 来源和 Bao 故障不单独撤销 Instance Ready 已确认;Secret 更新后的连接
刷新协议仍需细化。其他决策及未决项见总体草案,不增加后台清扫器或状态字段。
管理 Secret 来源、Bao 故障不单独撤销 Instance Ready,以及管理用户名/密码变化时
重建连接池已确认。其他决策及未决项见总体草案,不增加后台清扫器或状态字段。
批准本对象结构不等于批准这些未决行为,也不意味着立刻实现完整供应链路。
+2 -1
View File
@@ -136,7 +136,8 @@ phase 只决定候选步骤,外部证据决定该步骤是否允许执行、
3. **管理凭据来源与 Ready(已确认)**:Instance 引用 controller namespace 内的
管理 Secret 名称和字段;管理员维护 ExternalSecret,ESO 同步。controller 不直接
从 Bao 读取管理凭据。已有凭据仍可访问 PG 时,Bao/ESO 故障不撤销 Instance Ready;
首次装配无有效 Secret 则失败。Secret 更新后的连接刷新协议待细化,非自动 PG 轮换。
首次装配无有效 Secret 则失败。Secret 的有效用户名/密码变化时重建管理连接池并
重验,不因无关字段变化重建;controller 不修改 PG 密码,不回写 Secret 或 Bao。
4. **绑定时机**:系统规格写“首次成功后不可变”,API 文档写“首次创建外部状态后
不可变”。应明确绑定在认领、首次外部写入还是 Ready 时固定,及如何在 status 丢失
后恢复;否则供应中途改名称可能产生无人管理的资源。
+7 -2
View File
@@ -181,8 +181,13 @@ Secret,不创建或修改管理 Secret、其 ExternalSecret 或上游管理凭
Instance 管理连接不直接访问 Bao,不负责管理密码轮换。已装配的凭据仍可访问
PostgreSQL 且满足 registry/权限要求时,Bao 或 ESO 暂时不可用不使 Instance NotReady。
首次装配无法取得有效 Secret 时不能 Ready。Secret 内容更新如何触发连接刷新另行
定义,本次不引入自动 PostgreSQL 密码轮换。Tenant 凭据管理仍直接依赖 Bao。
首次装配无法取得有效 Secret 时不能 Ready。检测到所引用 Secret 的有效用户名或密码
变化时,controller 使用新值重建管理连接池并重新检查管理能力;仅 metadata 或无关
字段变化不触发重建。刷新不依赖 Instance generation 变化,新连接验证失败按实际
故障报告,不能用旧连接的成功结果证明新凭据可用。
controller 不修改 PostgreSQL 密码、不回写 Secret,也不修改 Bao 管理凭据;数据库侧
凭据变更由管理员负责。这是跟随已提供凭据的连接刷新,不是自动密码轮换。
Tenant 凭据管理仍直接依赖 Bao。
### 8.3 租户凭据