Implementations¶
This document tracks downstream implementations and integrations of the Cluster Inventory API (ClusterProfile API) and provides status and resource references for them.
For background on the API itself, see the ClusterProfile API Overview, KEP-4322 (Cluster Inventory API), and KEP-5339 (ClusterProfile credentials plugin), which defines the pluggable exec-based mechanism consumers use to obtain credentials for member clusters.
Implementors and integrators of the Cluster Inventory API are encouraged to update this document with status information about their implementations, the versions they cover, and documentation to help users get started.
The Cluster Inventory API has two kinds of implementations:
- Cluster Managers publish
ClusterProfileobjects for the member clusters they register. - ClusterProfile API Consumers read
ClusterProfileobjects and use them to schedule, deploy, or operate workloads across clusters. The consumers listed below typically resolve per-cluster credentials via the KEP-5339 exec credential plugin mechanism (often through the sharedsigs.k8s.io/cluster-inventory-apilibrary); some consumers additionally provide built-in credential shortcuts outside that mechanism for specific environments.
Implementation Status¶
Cluster Managers¶
- Open Cluster Management: Available (shipped since OCM v0.15.0, enhanced in v1.2.0; PlacementDecision API support in progress)
- GKE Fleet (ClusterProfile sync): Preview (Google Cloud, announced May 2025)
ClusterProfile API Consumers¶
- Knative Operator: Alpha (since Knative Operator v1.22)
- Kueue (MultiKueue): Alpha (since Kueue v0.15.0, behind the
MultiKueueClusterProfilefeature gate) - multicluster-runtime: Alpha (since v0.21.0-alpha.9)
- Argo CD: In review (implementation in argoproj/argo-cd#24509; unreleased, target version not yet determined)
Implementations¶
In this section you will find specific links to code, documentation, and other Cluster Inventory API references for specific implementations.
The consumer implementations target different layers:
- Use the Knative Operator to roll out Knative Serving and Eventing to member clusters.
- Use MultiKueue when the workloads you dispatch across clusters are batch jobs.
- Use multicluster-runtime when you are building your own controller on top of controller-runtime and want
ClusterProfile-driven fleet discovery. - Use Argo CD to deliver applications across clusters via GitOps (integration under review upstream, not yet merged).
Open Cluster Management¶
Open Cluster Management (OCM) is a CNCF sandbox project that provides multicluster management APIs and controllers for Kubernetes. OCM acts as a ClusterProfile provider: its hub-side ClusterProfile reconciler synchronizes each registered ManagedCluster into a ClusterProfile object. OCM also supplies the open-cluster-management access provider through its cluster-proxy and managed-serviceaccount addons, allowing consumers to obtain credentials via the client-go exec credential plugin mechanism.
Initial ClusterProfile support was introduced in OCM v0.15.0 (October 2024). The implementation was updated in OCM v1.2.0 (February 2026), where the reconciler was refactored to sync from ManagedClusterSet and the ClusterProfile spec and status fields were revised.
OCM is also tracking support for the SIG Multicluster PlacementDecision API in open-cluster-management-io/ocm#1373. The proposal would allow OCM to produce standardized PlacementDecision objects from its placement results, giving third-party consumers such as Argo CD a common interface instead of provider-specific placement integrations. If completed, this could make OCM one of the first cluster managers to produce standardized SIG Multicluster placement decisions.
GKE Fleet (ClusterProfile sync)¶
GKE Fleet is Google Cloud's fleet management layer for Google Kubernetes Engine. Its ClusterProfile sync feature, available in Preview under the Pre-GA Offerings Terms, acts as a ClusterProfile provider: Fleet is the source of truth, and fleet membership changes (additions, updates, and deletions) are one-way synchronized to ClusterProfile objects on a designated hub cluster. Generated profiles are published in the fleet-cluster-inventory namespace by default and carry the label x-k8s.io/cluster-manager=gke-fleet.
The feature was announced in the May 8, 2025 GKE release notes. To enable it, an operator designates a GKE cluster as the hub by setting the fleet-clusterinventory-management-cluster=true label. The documented procedure currently targets GKE clusters; behavior for non-GKE fleet members (such as attached clusters) is not covered by the Preview documentation. Google documents the Argo CD ClusterProfile Syncer and Multi-cluster Orchestrator as example consumers; the syncer is a GKE-focused, Google-maintained integration, distinct from the upstream Argo CD proposal described below.
Knative Operator¶
Knative provides serverless workloads on Kubernetes. The Knative Operator consumes the Cluster Inventory API to deploy Knative Serving and Eventing across a fleet of remote clusters: when spec.clusterProfileRef is set on a KnativeServing or KnativeEventing resource, the operator resolves the referenced ClusterProfile, uses a configured access provider to build a REST config, and applies manifests to the target member cluster.
See the multicluster deployment guide for details. The feature was added via knative/operator#2267 and is available since Knative Operator v1.22.
Kueue (MultiKueue)¶
Kueue is a cloud-native job queueing system for batch, HPC, AI/ML, and similar applications in Kubernetes. Its multicluster mode, MultiKueue, dispatches workloads from a manager cluster to worker clusters. Since Kueue v0.15.0, MultiKueue can consume the Cluster Inventory API as a source of worker-cluster connection details: a MultiKueueCluster may reference a ClusterProfile, and the manager uses the referenced object's accessProviders together with a client-go exec credential plugin to reach the worker cluster.
The integration is an alpha feature gated on MultiKueueClusterProfile. See the MultiKueue setup guide for configuration details.
multicluster-runtime¶
multicluster-runtime is a SIG Multicluster library that extends controller-runtime with a pluggable provider model for reconciling across a fleet of clusters. It ships a reference Cluster Inventory API provider that discovers member clusters from ClusterProfile objects and, via its kubeconfigstrategy package, resolves each ClusterProfile to a *rest.Config through a pluggable strategy (for example, by building the config from the cluster's status.accessProviders and invoking a configured client-go exec credential plugin).
The Cluster Inventory API provider was introduced in v0.21.0-alpha.9 (August 2025). An end-to-end example is available in the repository.
Argo CD¶
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. A ClusterProfile integration is under review in argoproj/argo-cd#24509 (tracking argoproj/argo-cd#24282); it is not yet merged, and the release version that will first carry the feature is not yet determined.
The proposal introduces a dedicated controller that watches ClusterProfile resources and materializes a corresponding Argo CD cluster Secret for each profile, so that the existing Argo CD application-sync machinery can target ClusterProfile-registered member clusters. The design includes two credential modes: built-in cloud-provider shortcuts, and a KEP-5339 exec credential plugin mode. The integration is planned to support both KEP-4322 (as a ClusterProfile reader) and KEP-5339 (via the exec credential plugin path). The configuration surface is still in flux; see the PR for current details. This upstream proposal is separate from the Google-maintained Argo CD ClusterProfile Syncer described in the GKE Fleet section.