• Stars
    star
    250
  • Rank 162,397 (Top 4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Core APIs for open cluster management

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.

More Repositories

1

ocm

Core components in the OCM project. Report here if you found any issues in OCM.
Go
736
star
2

policy-collection

A collection of policy examples for Open Cluster Management
Shell
208
star
3

clusteradm

command line tool to bootstrap open-cluster-management control plane.
Go
79
star
4

community

open-cluster-management governance material.
61
star
5

registration-operator

Minimum cluster registration and work
Go
58
star
6

multicloud-operators-subscription

Enables multicluster application delivery.
Go
44
star
7

cluster-proxy

An OCM addon that automates the installation of Kubernetes' konnectivity servers and agents.
Go
42
star
8

registration

hub / spoke registration controllers
Go
42
star
9

policy-generator-plugin

A Kustomize generator plugin to generate Open Cluster Management policies
Go
29
star
10

work

resource manifest distribution among multiple clusters.
Go
29
star
11

argocd-pull-integration

ArgoCD Application pull model using Open Cluster Management. See https://open-cluster-management.io/ and https://argoproj.github.io/ for more details on both projects.
Go
24
star
12

enhancements

Maintain design docs for core apis and components.
23
star
13

addon-framework

addon apis
Go
23
star
14

placement

Controller to make placement decisions based on Placement APIs
Go
20
star
15

open-cluster-management-io.github.io

website code of open-cluster-management project
HTML
16
star
16

multicluster-controlplane

A standalone controlplane to run ocm core.
Go
15
star
17

governance-policy-propagator

Go
14
star
18

managed-serviceaccount

Go
12
star
19

config-policy-controller

Go
12
star
20

multicloud-integrations

Integrations: Argo CD auto-import
Go
9
star
21

governance-policy-framework-addon

The governance-policy-framework OCM addon that handles syncing from and to the Hub.
Go
7
star
22

ocm-vscode-extension

OCM VScode Extension is a UI tool for creating and managing OCM related Kubernetes resources
TypeScript
6
star
23

multicloud-operators-channel

Provides the source for multicluster application delivery. See https://github.com/open-cluster-management-io/multicloud-operators-subscription for more details.
Go
6
star
24

addon-contrib

This is to host ocm addons in staging
Go
5
star
25

governance-policy-addon-controller

Go
5
star
26

sdk-go

sdk for the go programming language use by other components in open-cluster-management
Go
3
star
27

governance-policy-status-sync

Go
2
star
28

governance-policy-spec-sync

Go
2
star
29

governance-policy-template-sync-archive

Go
2
star
30

helm-charts

hosting helm charts for open-cluster-management subprojects
HTML
2
star
31

cluster-permission

This repo contains the API and controller for automating RBAC resource distribution and lifecycle management for managed clusters.
Go
2
star
32

ocm-kustomize-generator-plugins

Kustomize generator plugins for use with Open Cluster Management
Go
1
star
33

multicluster-mesh

Go
1
star
34

governance-policy-template-sync

Go
1
star
35

governance-policy-nucleus

Go
1
star