feat: 初始化 controller 状态机 #3

Merged
panxiao81 merged 2 commits from feature/status-state-machine into main 2026-09-10 09:17:10 +00:00
Owner

概要

实现 issue #1 状态机切片的第一小步,为后续 PostgreSQL/OpenBao adapter 提供一致的 status 基础。

  • 定义稳定的 Ready Condition 与 v1alpha1 Reason 常量
  • Instance 首次 reconcile 进入 Validating
  • Tenant 首次 reconcile 进入 Pending
  • 删除中的资源进入 Deleting
  • Reconciling Condition 携带当前 observedGeneration
  • status 没有变化时不重复 patch
  • 测试覆盖初始 phase、Condition 和幂等 status 更新

本 PR 不连接 PostgreSQL/OpenBao,也不把任何资源标记 Ready。更深 phase 将由后续 adapter 切片在回读外部事实后推进。

验证

  • make lint:通过
  • git diff --check:通过
  • 按项目流程,完整 Tests/E2E 交由 PR 的 self-hosted CI
  • 当前 CI 尚无完整 E2E 基础设施,E2E 结果不作为本切片合并前提

Refs #1

## 概要 实现 issue #1 状态机切片的第一小步,为后续 PostgreSQL/OpenBao adapter 提供一致的 status 基础。 - 定义稳定的 `Ready` Condition 与 v1alpha1 Reason 常量 - Instance 首次 reconcile 进入 `Validating` - Tenant 首次 reconcile 进入 `Pending` - 删除中的资源进入 `Deleting` - `Reconciling` Condition 携带当前 `observedGeneration` - status 没有变化时不重复 patch - 测试覆盖初始 phase、Condition 和幂等 status 更新 本 PR 不连接 PostgreSQL/OpenBao,也不把任何资源标记 Ready。更深 phase 将由后续 adapter 切片在回读外部事实后推进。 ## 验证 - `make lint`:通过 - `git diff --check`:通过 - 按项目流程,完整 Tests/E2E 交由 PR 的 self-hosted CI - 当前 CI 尚无完整 E2E 基础设施,E2E 结果不作为本切片合并前提 Refs #1
panxiao81 added 1 commit 2026-09-10 08:45:11 +00:00
feat: 初始化 controller 状态机
Lint / Run on Ubuntu (pull_request) Successful in 4m59s
E2E Tests / Run on Ubuntu (pull_request) Failing after 54s
Tests / Run on Ubuntu (pull_request) Successful in 4m18s
ed564d411f
@@ -52,1 +58,3 @@
// TODO(user): your logic here
before := instance.DeepCopy()
if !instance.DeletionTimestamp.IsZero() {
Author
Owner

我们是不是应该用策略模式搞个状态机实现类?
直接传当前状态进去跳转对应状态实现代码比这样好读

我们是不是应该用策略模式搞个状态机实现类? 直接传当前状态进去跳转对应状态实现代码比这样好读
panxiao81 marked this conversation as resolved
panxiao81 added 1 commit 2026-09-10 09:07:25 +00:00
refactor: 按 phase handler 组织状态机
E2E Tests / Run on Ubuntu (pull_request) Failing after 48s
Tests / Run on Ubuntu (pull_request) Successful in 4m1s
Lint / Run on Ubuntu (pull_request) Successful in 4m44s
1c0be43805
panxiao81 merged commit fd511fe1b7 into main 2026-09-10 09:17:10 +00:00
panxiao81 deleted branch feature/status-state-machine 2026-09-10 09:17:10 +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/postgresql-tenant-operator#3