api

module
v0.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2024 License: Apache-2.0

README

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.

Directories

Path Synopsis
addon
v1alpha1
+kubebuilder:validation:Optional +groupName=addon.open-cluster-management.io
+kubebuilder:validation:Optional +groupName=addon.open-cluster-management.io
client
addon/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
addon/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
addon/clientset/versioned/typed/addon/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
addon/clientset/versioned/typed/addon/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cluster/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
cluster/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
cluster/clientset/versioned/typed/cluster/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
cluster/clientset/versioned/typed/cluster/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cluster/clientset/versioned/typed/cluster/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
cluster/clientset/versioned/typed/cluster/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cluster/clientset/versioned/typed/cluster/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
cluster/clientset/versioned/typed/cluster/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cluster/clientset/versioned/typed/cluster/v1beta2
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
cluster/clientset/versioned/typed/cluster/v1beta2/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
operator/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
operator/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
operator/clientset/versioned/typed/operator/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
operator/clientset/versioned/typed/operator/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
work/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
work/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
work/clientset/versioned/typed/work/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
work/clientset/versioned/typed/work/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
work/clientset/versioned/typed/work/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
work/clientset/versioned/typed/work/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cluster
v1
+kubebuilder:validation:Optional +groupName=cluster.open-cluster-management.io
+kubebuilder:validation:Optional +groupName=cluster.open-cluster-management.io
v1alpha1
+kubebuilder:validation:Optional +groupName=cluster.open-cluster-management.io
+kubebuilder:validation:Optional +groupName=cluster.open-cluster-management.io
v1beta1
+kubebuilder:validation:Optional +groupName=cluster.open-cluster-management.io
+kubebuilder:validation:Optional +groupName=cluster.open-cluster-management.io
v1beta2
+kubebuilder:validation:Optional +groupName=cluster.open-cluster-management.io
+kubebuilder:validation:Optional +groupName=cluster.open-cluster-management.io
operator
v1
+kubebuilder:validation:Optional +groupName=operator.open-cluster-management.io
+kubebuilder:validation:Optional +groupName=operator.open-cluster-management.io
tools
genswaggertypedocs
lifted from k8s.io/kubernetes so we can add methods to types
lifted from k8s.io/kubernetes so we can add methods to types
utils
work
v1
+kubebuilder:validation:Optional +groupName=work.open-cluster-management.io
+kubebuilder:validation:Optional +groupName=work.open-cluster-management.io
v1alpha1
+kubebuilder:validation:Optional +groupName=work.open-cluster-management.io
+kubebuilder:validation:Optional +groupName=work.open-cluster-management.io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL