feat: 基于观察结果的 Instance 扩展支持判定 #11

Merged
panxiao81 merged 1 commits from feature/instance-extension-support into main 2026-09-16 11:03:11 +00:00
Owner

范围

落实 docs/domain-instance.md 中已确认的扩展支持合同,新增纯领域集合判定组件。

  • ExtensionSet 保存精确名称,去重排序,输入输出使用副本。
  • ExtensionSupport 区分尚未观察与已观察的空列表。
  • 空请求通过扩展判定;非空请求返回 Accepted、ExtensionsUnsupported 或 ExtensionSupportUnobserved。
  • 不支持项按名称排序并去重;不增加名称正则,不实现管理员 allowlist。
  • 测试覆盖观察状态、精确匹配、不可变性和结果隔离。

仅两个新文件,191 行。无外部 IO,不修改现有运行路径。查询失败的传播、目标与配置版本绑定、观察失效以及 Instance 聚合接入留给后续小 PR;此组件的 Accepted 不代表实例 Ready 或安装已成功。

验证

  • 最终工作区领域包 lint:0 issues。
  • make generate:生成文件无差异。
  • git diff --check:通过。
  • 全仓 lint 在 lint-fix 后通过;恢复正式生成文件后,仍存在此前记录的 DeepCopy import 与 goimports 格式不一致问题,本 PR 不包含该修复。
  • 单元测试已编写,未在本地执行;完整测试交给 self-hosted CI。

Refs #1

## 范围 落实 docs/domain-instance.md 中已确认的扩展支持合同,新增纯领域集合判定组件。 - ExtensionSet 保存精确名称,去重排序,输入输出使用副本。 - ExtensionSupport 区分尚未观察与已观察的空列表。 - 空请求通过扩展判定;非空请求返回 Accepted、ExtensionsUnsupported 或 ExtensionSupportUnobserved。 - 不支持项按名称排序并去重;不增加名称正则,不实现管理员 allowlist。 - 测试覆盖观察状态、精确匹配、不可变性和结果隔离。 仅两个新文件,191 行。无外部 IO,不修改现有运行路径。查询失败的传播、目标与配置版本绑定、观察失效以及 Instance 聚合接入留给后续小 PR;此组件的 Accepted 不代表实例 Ready 或安装已成功。 ## 验证 - 最终工作区领域包 lint:0 issues。 - make generate:生成文件无差异。 - git diff --check:通过。 - 全仓 lint 在 lint-fix 后通过;恢复正式生成文件后,仍存在此前记录的 DeepCopy import 与 goimports 格式不一致问题,本 PR 不包含该修复。 - 单元测试已编写,未在本地执行;完整测试交给 self-hosted CI。 Refs #1
panxiao81 added 1 commit 2026-09-14 15:57:39 +00:00
feat: add observed Instance extension support checks
E2E Tests / Run on Ubuntu (pull_request) Failing after 47s
Tests / Run on Ubuntu (pull_request) Successful in 5m8s
Lint / Run on Ubuntu (pull_request) Successful in 5m48s
87ec7896b5
panxiao81 merged commit fdd43f32d1 into main 2026-09-16 11:03:11 +00:00
panxiao81 deleted branch feature/instance-extension-support 2026-09-16 11:03:11 +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#11