Skip to content

open-cluster-management-io/api

Repository files navigation

Open Cluster Management API

Go Report Card

The api repository defines relevant concepts and types for problem domains related to managing 0..* Kubernetes clusters.

Purpose

This library is the canonical location of the Open Cluster Management API definition.

  • API for cluster registration independent of cluster CRUD lifecycle.
  • API for work distribution across multiple clusters.
  • API for dynamic placement of content and behavior across multiple clusters.
  • API for building addon/extension based on the foundation components for the purpose of working with multiple clusters.

Consumers

Various projects under Open Cluster Management leverage this api library.

  • registration: implements ManagedCluster, ManagedClusterSet,ClusterClaim for cluster registration and lifecycling.
  • work: implements Manifestwork for native kubernetes resource distribution to multiple clusters.
  • addon-framework: implements ClusterManagementAddOn, ManagedClusterAddOn for addon management.
  • placement: implements Placement for cluster selection with various policies to deploy workloads.
  • registration-operator: implements ClusterManager, Klusterlet as an operator to deploy registration, work and placement.

Use case

With the Open Cluster Management API and components, you can use the clusteradm CLI to bootstrap a control plane for multicluster management. The following diagram illustrates the deployment architecture for the Open Cluster Management.

Architecture diagram

Community, discussion, contribution, and support

Check the CONTRIBUTING Doc for how to contribute to the repo.

Communication channels

Slack channel: #open-cluster-mgmt

License

This code is released under the Apache 2.0 license. See the file LICENSE for more information.