feat: Instance Identity 与 Revision 值对象及测试 #9

Merged
panxiao81 merged 1 commits from feature/instance-identity-values into main 2026-09-14 10:43:54 +00:00
Owner

范围

落实 docs/domain-instance.md 第 2 节的登记身份与配置版本合同。

  • 新增不可变、可比较的 Identity:包含不透明 UID 与登记名称,同名不同 UID 是不同身份。
  • 新增 Revision:表示正整数配置版本,不用于判断物理 PostgreSQL 服务器身份。
  • 校验无效名称、空 UID、非正版本和零值;保留显式输入,不强制 UID 为 UUID。
  • 复用已有 DNS subdomain 名称校验规则。

三个文件,178 行新增、3 行删除。只依赖标准库,不接外部 IO,不修改 CRD、现有 controller 或运行路径。

验证

  • 领域包 lint:0 issues。
  • git diff --check:通过。
  • make generate:生成文件无差异。
  • 全仓 make lint:未通过。正式生成的 api/v1alpha1/zz_generated.deepcopy.go 的 v1 import 别名与 goimports 要求不一致;该既有生成文件问题未混入本 PR 修复。
  • 单元测试已编写,未在本地执行;完整测试交给 self-hosted CI。

Refs #1

## 范围 落实 docs/domain-instance.md 第 2 节的登记身份与配置版本合同。 - 新增不可变、可比较的 Identity:包含不透明 UID 与登记名称,同名不同 UID 是不同身份。 - 新增 Revision:表示正整数配置版本,不用于判断物理 PostgreSQL 服务器身份。 - 校验无效名称、空 UID、非正版本和零值;保留显式输入,不强制 UID 为 UUID。 - 复用已有 DNS subdomain 名称校验规则。 三个文件,178 行新增、3 行删除。只依赖标准库,不接外部 IO,不修改 CRD、现有 controller 或运行路径。 ## 验证 - 领域包 lint:0 issues。 - git diff --check:通过。 - make generate:生成文件无差异。 - 全仓 make lint:未通过。正式生成的 api/v1alpha1/zz_generated.deepcopy.go 的 v1 import 别名与 goimports 要求不一致;该既有生成文件问题未混入本 PR 修复。 - 单元测试已编写,未在本地执行;完整测试交给 self-hosted CI。 Refs #1
panxiao81 added 1 commit 2026-09-14 10:41:23 +00:00
feat: add Instance identity and revision value objects
E2E Tests / Run on Ubuntu (pull_request) Failing after 30s
Tests / Run on Ubuntu (pull_request) Successful in 5m11s
Lint / Run on Ubuntu (pull_request) Successful in 7m32s
5521d5f98d
panxiao81 merged commit ed6fd7bb85 into main 2026-09-14 10:43:54 +00:00
panxiao81 deleted branch feature/instance-identity-values 2026-09-14 10:43:55 +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#9