/cluster-inventory-api

Kubernetes ClusterInventory API

Primary LanguageGoApache License 2.0Apache-2.0

Cluster Inventory API

The Cluster Inventory API is a part of SIG Multicluster, and this repository serves as the foundation for developing a standardized, robust framework for multi-cluster management in a cloud-native environment.

The Cluster Inventory API aims to provide a consistent and automated approach for applications, frameworks, and toolsets to discover and interact with multiple Kubernetes clusters. The concept of Cluster Inventory is akin to service discovery in a microservices architecture. It allows multi-cluster applications to dynamically discover available clusters and respond to various cluster lifecycle events. Such events include auto-scaling, upgrades, failures, and connectivity issues. This automated inventory management not only facilitates operational efficiency but also supports the integration of diverse multi-cluster management solutions. See the initial proposal in the documentation for more details.

Cluster Profile API

Within the broader Cluster Inventory, the first major component we are introducing is the ClusterProfile API. A Cluster Profile is essentially an individual member of the Cluster Inventory that details the properties and status of a cluster. This API proposes a universal, standardized interface that defines how cluster information should be presented and interacted with across different platforms and implementations.

Motivation and Goals

The ClusterProfile API is designed to establish a shared interface for cluster inventory, laying the groundwork for multi-cluster tooling by providing a foundational component. Here are several key benefits and purposes of adopting the ClusterProfile API:

  • Standardization: By defining a standard for status reporting and cluster properties, the API facilitates a common understanding that can be shared across various tools and platforms.
  • Ease of Integration: Consumers of the API, such as multi-cluster workload schedulers and GitOps tools (e.g., ArgoCD, Kueue), can integrate without needing to navigate the specific implementation details of different cluster management projects.
  • Vendor Neutrality: The API provides a vendor-neutral integration point, allowing operations tools and external consumers to define and manage clusters across different cloud environments uniformly.

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.