feat: Instance 原生管理观测与删除保护 #11

Merged
panxiao81 merged 1 commits from feat/database-instance-observation into main 2026-09-25 14:32:26 +00:00
Owner

变化

  • 接入 Instance 观测闭环:application 协调用例,领域判定 Ready,Kubernetes adapter 呈现状态,controller 只负责事件和重试。
  • 采用已确认的原生非 superuser + CREATEDB/CREATEROLE 方案;只读观察,不创建探针对象,不引入 SECURITY DEFINER 或 registry。
  • 固定 controller namespace 的 Secret metadata watch,直读有效凭据;轮换刷新 pgxpool,观察中途轮换丢弃结果。
  • 按 UID/resourceVersion 拒绝过期观察;删除期间释放连接,存在 Database/Tenant 引用或查询失败时保留 finalizer。
  • Secret 权限使用 namespaced Role;补充部署装配和文档。

验证

  • make test;controller/application 三轮 race。
  • make test-database-integration:真实 PostgreSQL + Kubernetes API。
  • 新增管理权限和实际 manager 联合测试三轮 race:权限撤回/恢复、只读会话、superuser 拒绝、实际建库/owner 授权/trusted 扩展、Secret 创建/轮换/删除及 namespace RBAC。
  • 普通及 integration lint 均为 0 issues;文档检查、部署 YAML 渲染、git diff --check 通过。

边界

Instance Ready 只表示当前基础管理能力,不保证任意扩展可安装,不授予导入/接管其他资源的权限。Database 供应/导入、OpenBao/ESO 交付以及 Database/Tenant Retain/Delete 回收仍未完成;本 PR 不部署业务 DBaaS。

wiki 已同步设计和验证边界,纯文档直接维护 main。

## 变化 - 接入 Instance 观测闭环:application 协调用例,领域判定 Ready,Kubernetes adapter 呈现状态,controller 只负责事件和重试。 - 采用已确认的原生非 superuser + CREATEDB/CREATEROLE 方案;只读观察,不创建探针对象,不引入 SECURITY DEFINER 或 registry。 - 固定 controller namespace 的 Secret metadata watch,直读有效凭据;轮换刷新 pgxpool,观察中途轮换丢弃结果。 - 按 UID/resourceVersion 拒绝过期观察;删除期间释放连接,存在 Database/Tenant 引用或查询失败时保留 finalizer。 - Secret 权限使用 namespaced Role;补充部署装配和文档。 ## 验证 - make test;controller/application 三轮 race。 - make test-database-integration:真实 PostgreSQL + Kubernetes API。 - 新增管理权限和实际 manager 联合测试三轮 race:权限撤回/恢复、只读会话、superuser 拒绝、实际建库/owner 授权/trusted 扩展、Secret 创建/轮换/删除及 namespace RBAC。 - 普通及 integration lint 均为 0 issues;文档检查、部署 YAML 渲染、git diff --check 通过。 ## 边界 Instance Ready 只表示当前基础管理能力,不保证任意扩展可安装,不授予导入/接管其他资源的权限。Database 供应/导入、OpenBao/ESO 交付以及 Database/Tenant Retain/Delete 回收仍未完成;本 PR 不部署业务 DBaaS。 wiki 已同步设计和验证边界,纯文档直接维护 main。
panxiao81 added 1 commit 2026-09-25 13:34:17 +00:00
feat: 接入 Instance 原生管理观测与删除保护
Verify / test (pull_request) Successful in 12m41s
Verify / lint (pull_request) Successful in 14m14s
Verify / database-integration (pull_request) Successful in 16m9s
bc227bfdb4
panxiao81 merged commit f4deb98a7f into main 2026-09-25 14:32:26 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: panxiao81/ayatori#11