KEP-4322: Define cluster inventory by ClusterProfile namespace
sig/multicluster
Follow-up to https://github.com/kubernetes-sigs/cluster-inventory-api/issues/75. The SIG-MC call on July 07, 2026 [reconfirmed namespace scope](https://github.com/kubernetes-sigs/cluster-inventory-api/issues/75#issuecomment-4917369795), and the next step is documenting the current behavior and rationale. This issue tracks the KEP-4322 side of that.
The CRD has been [namespace-scoped since the first implementation](https://github.com/kubernetes-sigs/cluster-inventory-api/blob/04603eea/apis/v1alpha1/clusterprofile_types.go#L126) (April 2024), but the KEP still hedges:
- "Cluster Inventory" is just ["a conceptual term referring to a collection of clusters"](https://github.com/kubernetes/enhancements/blob/48e6d949/keps/sig-multicluster/4322-cluster-inventory/README.md#terminology)
- one ClusterProfile per member cluster is only [recommended](https://github.com/kubernetes/enhancements/blob/48e6d949/keps/sig-multicluster/4322-cluster-inventory/README.md#uniqueness-of-the-clusterprofile-object)
- [cluster name uniqueness](https://github.com/kubernetes/enhancements/blob/48e6d949/keps/sig-multicluster/4322-cluster-inventory/README.md#cluster-name) is global, with no defined boundary
- [namespace scoping itself is a recommendation](https://github.com/kubernetes/enhancements/blob/48e6d949/keps/sig-multicluster/4322-cluster-inventory/README.md#how-should-we-organize-clusterprofile-objects-on-a-hub-cluster), not a statement of fact
Nobody has relied on this looseness in the years since, but consumers pay for it anyway: they can't assume what a namespace of ClusterProfiles means or whether duplicates can appear, so every manager/consumer pair ends up working it out case by case.
Proposal: make the namespace the boundary.
- A **cluster inventory** is the set of ClusterProfile objects in one namespace. A hub cluster can host multiple inventories.
- Within an inventory, a member cluster is represented by at most one ClusterProfile (MUST), whichever cluster manager created it. The same cluster may appear in other inventories.
- Cluster name uniqueness is per inventory, not global.
Cross-inventory identity and deduplication stay out of scope — a consumer reading multiple namespaces is consuming multiple inventories.
1 条评论