feat: Database 三资源 API 与分层绑定协调 #10

Merged
panxiao81 merged 1 commits from feat/database-resource-api into main 2026-09-25 04:44:14 +00:00
Owner

变更

  • 确认单库单登录 owner、集群级 Database、默认 Retain 与资源侧先写的绑定合同。
  • 增加 PostgreSQLInstance、PostgreSQLDatabase、PostgreSQLTenant 类型、CRD、示例及最小绑定 RBAC。
  • 领域层承载纯规则,BindingService 协调流程,Kubernetes adapter 负责资源映射、版本保护与状态呈现,controller 仅负责事件及重试。
  • 支持动态记录、排他绑定、失败后补写、目标固定和依赖 watch;不引入 registry、事务队列或反向绑定名单。

验证

  • make test、lint、文档检查通过。
  • 三轮 race 测试通过。
  • 真实 API server 覆盖默认值/CEL/status、并发申请、资源侧成功后失败与重启补写、最小 RBAC/watch,以及呈现前并发修改的版本保护。
  • 未改 PostgreSQL adapter;本切片无 PostgreSQL/OpenBao 写入,测试中的后端 Ready 由 fixture 提供。

尚未实现

  • 完整 Instance/Database 观察、实际供应和凭据交付。
  • Retain 释放、Delete 清理及删除流程开始后的策略固定。
  • 当前删除保持 DeletionPending 与 finalizer;Bound 仍为 Ready=False,不能作为可用 DBaaS 部署。

配套知识同步:panxiao81/homelab-wiki#3
本 PR 独立于 Job PR #2,不向其叠加 Database 工作。

## 变更 - 确认单库单登录 owner、集群级 Database、默认 Retain 与资源侧先写的绑定合同。 - 增加 PostgreSQLInstance、PostgreSQLDatabase、PostgreSQLTenant 类型、CRD、示例及最小绑定 RBAC。 - 领域层承载纯规则,BindingService 协调流程,Kubernetes adapter 负责资源映射、版本保护与状态呈现,controller 仅负责事件及重试。 - 支持动态记录、排他绑定、失败后补写、目标固定和依赖 watch;不引入 registry、事务队列或反向绑定名单。 ## 验证 - make test、lint、文档检查通过。 - 三轮 race 测试通过。 - 真实 API server 覆盖默认值/CEL/status、并发申请、资源侧成功后失败与重启补写、最小 RBAC/watch,以及呈现前并发修改的版本保护。 - 未改 PostgreSQL adapter;本切片无 PostgreSQL/OpenBao 写入,测试中的后端 Ready 由 fixture 提供。 ## 尚未实现 - 完整 Instance/Database 观察、实际供应和凭据交付。 - Retain 释放、Delete 清理及删除流程开始后的策略固定。 - 当前删除保持 DeletionPending 与 finalizer;Bound 仍为 Ready=False,不能作为可用 DBaaS 部署。 配套知识同步:https://git.ddupan.top/panxiao81/homelab-wiki/pulls/3 本 PR 独立于 Job PR #2,不向其叠加 Database 工作。
panxiao81 added 1 commit 2026-09-25 04:11:19 +00:00
feat: 接入 Database 三资源 API 与分层绑定协调
Verify / test (pull_request) Successful in 11m39s
Verify / lint (pull_request) Successful in 12m51s
Verify / database-integration (pull_request) Successful in 13m12s
7e9e8e828b
确定单库单账号、集群级 Database、资源侧先写绑定和凭据定位合同。领域层承载纯规则,service 协調流程,Kubernetes adapter 负责资源呈现与版本保护。

验证:全量 make test、三轮 race、真实 API server 并发与重启补写、最小 RBAC/watch、lint 和文档检查通过。供应、凭据交付及删除清理尚未实现,保留 DeletionPending/finalizer 边界。
panxiao81 merged commit 55b269ce2e into main 2026-09-25 04:44:14 +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#10