Follow-up to kubernetes-sigs/cluster-inventory-api#75. The SIG-MC call on July 07, 2026 reconfirmed namespace scope, 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 (April 2024), but the KEP still hedges:
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.
Follow-up to kubernetes-sigs/cluster-inventory-api#75. The SIG-MC call on July 07, 2026 reconfirmed namespace scope, 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 (April 2024), but the KEP still hedges:
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.
Cross-inventory identity and deduplication stay out of scope — a consumer reading multiple namespaces is consuming multiple inventories.