Update CRD descriptions. (#360)

Signed-off-by: GitHub <noreply@github.com>
This commit is contained in:
xuezhao
2024-02-19 16:42:38 +08:00
committed by GitHub
parent c5e210af0c
commit 4d91239a54
30 changed files with 150 additions and 147 deletions

View File

@@ -59,7 +59,7 @@ metadata:
categories: Integration & Delivery,OpenShift Optional
certified: "false"
containerImage: quay.io/open-cluster-management/registration-operator:latest
createdAt: "2024-01-23T06:30:04Z"
createdAt: "2024-02-18T02:58:21Z"
description: Manages the installation and upgrade of the ClusterManager.
operators.operatorframework.io/builder: operator-sdk-v1.32.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3

View File

@@ -31,7 +31,7 @@ metadata:
categories: Integration & Delivery,OpenShift Optional
certified: "false"
containerImage: quay.io/open-cluster-management/registration-operator:latest
createdAt: "2024-01-23T06:30:04Z"
createdAt: "2024-02-18T02:58:21Z"
description: Manages the installation and upgrade of the Klusterlet.
operators.operatorframework.io/builder: operator-sdk-v1.32.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3

2
go.mod
View File

@@ -34,7 +34,7 @@ require (
k8s.io/kube-aggregator v0.29.0
k8s.io/utils v0.0.0-20240102154912-e7106e64919e
open-cluster-management.io/addon-framework v0.8.1-0.20240205013730-13fbb6259464
open-cluster-management.io/api v0.12.1-0.20240205100623-abaf09c1e5d4
open-cluster-management.io/api v0.12.1-0.20240208054823-480f8ab2c847
open-cluster-management.io/sdk-go v0.0.0-20240130025514-7385f9baadf0
sigs.k8s.io/controller-runtime v0.16.2
sigs.k8s.io/kube-storage-version-migrator v0.0.6-0.20230721195810-5c8923c5ff96

4
go.sum
View File

@@ -452,8 +452,8 @@ k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCf
k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
open-cluster-management.io/addon-framework v0.8.1-0.20240205013730-13fbb6259464 h1:FGVcwgN1f5kKuHQF7p4WcWMUkNBYLIpKy9uirEBAFu0=
open-cluster-management.io/addon-framework v0.8.1-0.20240205013730-13fbb6259464/go.mod h1:SBs6wF0Umzr5/miJb9p8uMaTDbcjphHHQLa76nXnbU8=
open-cluster-management.io/api v0.12.1-0.20240205100623-abaf09c1e5d4 h1:vg944w17FVNzlM4zNG6UVqA0Rvscv2iYknMpPLtlg4s=
open-cluster-management.io/api v0.12.1-0.20240205100623-abaf09c1e5d4/go.mod h1:vOz9InrJq1BDFEI51+OwAyq2M3tjYPY+1cnoQhMhIlE=
open-cluster-management.io/api v0.12.1-0.20240208054823-480f8ab2c847 h1:1s1DeRFhKrACHxIuGLse2YCkL18hXT9Lp8u2nrM0Seo=
open-cluster-management.io/api v0.12.1-0.20240208054823-480f8ab2c847/go.mod h1:vOz9InrJq1BDFEI51+OwAyq2M3tjYPY+1cnoQhMhIlE=
open-cluster-management.io/sdk-go v0.0.0-20240130025514-7385f9baadf0 h1:A+l3SkDPWnRwK3+WE5MVMh7NBvDCKkhdA+AB7Tw/lRM=
open-cluster-management.io/sdk-go v0.0.0-20240130025514-7385f9baadf0/go.mod h1:p3oaf+iu9ghMl4cBJXWXlDnUHVn+QxL90YLTve9bn/k=
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2SGwkQasmbeqDo8th5wOBA5h/AjTKA4I=

View File

@@ -26,10 +26,9 @@ spec:
schema:
openAPIV3Schema:
description: ClusterManagementAddOn represents the registration of an add-on
to the cluster manager. This resource allows the user to discover which
add-on is available for the cluster manager and also provides metadata information
about the add-on. This resource also provides a linkage to ManagedClusterAddOn,
the name of the ClusterManagementAddOn resource will be used for the namespace-scoped
to the cluster manager. This resource allows you to discover which add-ons
are available for the cluster manager and provides metadata information
about the add-ons. The ClusterManagementAddOn name is used for the namespace-scoped
ManagedClusterAddOn resource. ClusterManagementAddOn is a cluster-scoped
resource.
properties:

View File

@@ -35,16 +35,18 @@ spec:
schema:
openAPIV3Schema:
description: "ManagedCluster represents the desired state and current status
of managed cluster. ManagedCluster is a cluster scoped resource. The name
is the cluster UID. \n The cluster join process follows a double opt-in
process: \n 1. Agent on managed cluster creates CSR on hub with cluster
UID and agent name. 2. Agent on managed cluster creates ManagedCluster on
hub. 3. Cluster admin on hub approves the CSR for UID and agent name of
the ManagedCluster. 4. Cluster admin sets spec.acceptClient of ManagedCluster
to true. 5. Cluster admin on managed cluster creates credential of kubeconfig
to hub. \n Once the hub creates the cluster namespace, the Klusterlet agent
on the ManagedCluster pushes the credential to the hub to use against the
kube-apiserver of the ManagedCluster."
of a managed cluster. ManagedCluster is a cluster-scoped resource. The name
is the cluster UID. \n The cluster join process is a double opt-in process.
See the following join process steps: \n 1. The agent on the managed cluster
creates a CSR on the hub with the cluster UID and agent name. 2. The agent
on the managed cluster creates a ManagedCluster on the hub. 3. The cluster
admin on the hub cluster approves the CSR for the UID and agent name of
the ManagedCluster. 4. The cluster admin sets the spec.acceptClient of the
ManagedCluster to true. 5. The cluster admin on the managed cluster creates
a credential of the kubeconfig for the hub cluster. \n After the hub cluster
creates the cluster namespace, the klusterlet agent on the ManagedCluster
pushes the credential to the hub cluster to use against the kube-apiserver
of the ManagedCluster."
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

View File

@@ -25,18 +25,18 @@ spec:
name: v1beta2
schema:
openAPIV3Schema:
description: "ManagedClusterSet defines a group of ManagedClusters that user's
workload can run on. A workload can be defined to deployed on a ManagedClusterSet,
which mean: 1. The workload can run on any ManagedCluster in the ManagedClusterSet
2. The workload cannot run on any ManagedCluster outside the ManagedClusterSet
3. The service exposed by the workload can be shared in any ManagedCluster
in the ManagedClusterSet \n In order to assign a ManagedCluster to a certian
ManagedClusterSet, add a label with name `cluster.open-cluster-management.io/clusterset`
on the ManagedCluster to refers to the ManagedClusterSet. User is not allow
to add/remove this label on a ManagedCluster unless they have a RBAC rule
to CREATE on a virtual subresource of managedclustersets/join. In order
to update this label, user must have the permission on both the old and
new ManagedClusterSet."
description: "ManagedClusterSet defines a group of ManagedClusters that you
can run workloads on. You can define a workload to be deployed on a ManagedClusterSet.
See the following options for the workload: - The workload can run on any
ManagedCluster in the ManagedClusterSet - The workload cannot run on any
ManagedCluster outside the ManagedClusterSet - The service exposed by the
workload can be shared in any ManagedCluster in the ManagedClusterSet \n
To assign a ManagedCluster to a certain ManagedClusterSet, add a label with
the name cluster.open-cluster-management.io/clusterset on the ManagedCluster
to refer to the ManagedClusterSet. You are not allowed to add or remove
this label on a ManagedCluster unless you have an RBAC rule to CREATE on
a virtual subresource of managedclustersets/join. To update this label,
you must have the permission on both the old and new ManagedClusterSet."
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

View File

@@ -19,11 +19,11 @@ spec:
schema:
openAPIV3Schema:
description: ManagedClusterSetBinding projects a ManagedClusterSet into a
certain namespace. User is able to create a ManagedClusterSetBinding in
a namespace and bind it to a ManagedClusterSet if they have an RBAC rule
to CREATE on the virtual subresource of managedclustersets/bind. Workloads
created in the same namespace can only be distributed to ManagedClusters
in ManagedClusterSets bound in this namespace by higher level controllers.
certain namespace. You can create a ManagedClusterSetBinding in a namespace
and bind it to a ManagedClusterSet if both have a RBAC rules to CREATE on
the virtual subresource of managedclustersets/bind. Workloads that you create
in the same namespace can only be distributed to ManagedClusters in ManagedClusterSets
that are bound in this namespace by higher-level controllers.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

View File

@@ -15,8 +15,9 @@ spec:
- name: v1alpha1
schema:
openAPIV3Schema:
description: AddOnDeploymentConfig represents a deployment configuration for
an add-on.
description: AddOnDeploymentConfig represents a configuration to customize
the deployments of an add-on. For example, you can specify the NodePlacement
to control the scheduling of the add-on agents.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

View File

@@ -34,11 +34,11 @@ spec:
to workload namespaces; 4. Namespace-scoped Placements specify a slice of
ManagedClusterSets which select a working set of potential ManagedClusters;
5. Then Placements subselect from that working set using label/claim selection.
\n No ManagedCluster will be selected if no ManagedClusterSet is bound to
the placement namespace. User is able to bind a ManagedClusterSet to a namespace
by creating a ManagedClusterSetBinding in that namespace if they have a
RBAC rule to CREATE on the virtual subresource of `managedclustersets/bind`.
\n A slice of PlacementDecisions with label cluster.open-cluster-management.io/placement={placement
\n A ManagedCluster will not be selected if no ManagedClusterSet is bound
to the placement namespace. A user is able to bind a ManagedClusterSet to
a namespace by creating a ManagedClusterSetBinding in that namespace if
they have an RBAC rule to CREATE on the virtual subresource of `managedclustersets/bind`.
\n A slice of PlacementDecisions with the label cluster.open-cluster-management.io/placement={placement
name} will be created to represent the ManagedClusters selected by this
placement. \n If a ManagedCluster is selected and added into the PlacementDecisions,
other components may apply workload on it; once it is removed from the PlacementDecisions,

View File

@@ -15,14 +15,14 @@ spec:
- name: v1beta1
schema:
openAPIV3Schema:
description: "PlacementDecision indicates a decision from a placement PlacementDecision
should has a label cluster.open-cluster-management.io/placement={placement
name} to reference a certain placement. \n If a placement has spec.numberOfClusters
specified, the total number of decisions contained in status.decisions of
PlacementDecisions should always be NumberOfClusters; otherwise, the total
number of decisions should be the number of ManagedClusters which match
the placement requirements. \n Some of the decisions might be empty when
there are no enough ManagedClusters meet the placement requirements."
description: "PlacementDecision indicates a decision from a placement. PlacementDecision
must have a cluster.open-cluster-management.io/placement={placement name}
label to reference a certain placement. \n If a placement has spec.numberOfClusters
specified, the total number of decisions contained in the status.decisions
of PlacementDecisions must be the same as NumberOfClusters. Otherwise, the
total number of decisions must equal the number of ManagedClusters that
match the placement requirements. \n Some of the decisions might be empty
when there are not enough ManagedClusters to meet the placement requirements."
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

2
vendor/modules.txt vendored
View File

@@ -1508,7 +1508,7 @@ open-cluster-management.io/addon-framework/pkg/index
open-cluster-management.io/addon-framework/pkg/manager/controllers/addonconfiguration
open-cluster-management.io/addon-framework/pkg/manager/controllers/addonowner
open-cluster-management.io/addon-framework/pkg/utils
# open-cluster-management.io/api v0.12.1-0.20240205100623-abaf09c1e5d4
# open-cluster-management.io/api v0.12.1-0.20240208054823-480f8ab2c847
## explicit; go 1.20
open-cluster-management.io/api/addon/v1alpha1
open-cluster-management.io/api/client/addon/clientset/versioned

View File

@@ -26,10 +26,9 @@ spec:
schema:
openAPIV3Schema:
description: ClusterManagementAddOn represents the registration of an add-on
to the cluster manager. This resource allows the user to discover which
add-on is available for the cluster manager and also provides metadata information
about the add-on. This resource also provides a linkage to ManagedClusterAddOn,
the name of the ClusterManagementAddOn resource will be used for the namespace-scoped
to the cluster manager. This resource allows you to discover which add-ons
are available for the cluster manager and provides metadata information
about the add-ons. The ClusterManagementAddOn name is used for the namespace-scoped
ManagedClusterAddOn resource. ClusterManagementAddOn is a cluster-scoped
resource.
properties:

View File

@@ -15,8 +15,9 @@ spec:
- name: v1alpha1
schema:
openAPIV3Schema:
description: AddOnDeploymentConfig represents a deployment configuration for
an add-on.
description: AddOnDeploymentConfig represents a configuration to customize
the deployments of an add-on. For example, you can specify the NodePlacement
to control the scheduling of the add-on agents.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

View File

@@ -8,7 +8,8 @@ import (
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// AddOnDeploymentConfig represents a deployment configuration for an add-on.
// AddOnDeploymentConfig represents a configuration to customize the deployments of an add-on.
// For example, you can specify the NodePlacement to control the scheduling of the add-on agents.
type AddOnDeploymentConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

View File

@@ -14,10 +14,9 @@ import (
// +kubebuilder:printcolumn:name="CRD NAME",type=string,JSONPath=`.spec.addOnConfiguration.crdName`
// ClusterManagementAddOn represents the registration of an add-on to the cluster manager.
// This resource allows the user to discover which add-on is available for the cluster manager and
// also provides metadata information about the add-on.
// This resource also provides a linkage to ManagedClusterAddOn, the name of the ClusterManagementAddOn
// resource will be used for the namespace-scoped ManagedClusterAddOn resource.
// This resource allows you to discover which add-ons are available for the cluster manager
// and provides metadata information about the add-ons. The ClusterManagementAddOn name is used
// for the namespace-scoped ManagedClusterAddOn resource.
// ClusterManagementAddOn is a cluster-scoped resource.
type ClusterManagementAddOn struct {
metav1.TypeMeta `json:",inline"`

View File

@@ -12,7 +12,7 @@ package v1alpha1
// AUTO-GENERATED FUNCTIONS START HERE
var map_AddOnDeploymentConfig = map[string]string{
"": "AddOnDeploymentConfig represents a deployment configuration for an add-on.",
"": "AddOnDeploymentConfig represents a configuration to customize the deployments of an add-on. For example, you can specify the NodePlacement to control the scheduling of the add-on agents.",
"spec": "spec represents a desired configuration for an add-on.",
}
@@ -191,7 +191,7 @@ func (AddOnMeta) SwaggerDoc() map[string]string {
}
var map_ClusterManagementAddOn = map[string]string{
"": "ClusterManagementAddOn represents the registration of an add-on to the cluster manager. This resource allows the user to discover which add-on is available for the cluster manager and also provides metadata information about the add-on. This resource also provides a linkage to ManagedClusterAddOn, the name of the ClusterManagementAddOn resource will be used for the namespace-scoped ManagedClusterAddOn resource. ClusterManagementAddOn is a cluster-scoped resource.",
"": "ClusterManagementAddOn represents the registration of an add-on to the cluster manager. This resource allows you to discover which add-ons are available for the cluster manager and provides metadata information about the add-ons. The ClusterManagementAddOn name is used for the namespace-scoped ManagedClusterAddOn resource. ClusterManagementAddOn is a cluster-scoped resource.",
"spec": "spec represents a desired configuration for the agent on the cluster management add-on.",
"status": "status represents the current status of cluster management add-on.",
}

View File

@@ -35,16 +35,18 @@ spec:
schema:
openAPIV3Schema:
description: "ManagedCluster represents the desired state and current status
of managed cluster. ManagedCluster is a cluster scoped resource. The name
is the cluster UID. \n The cluster join process follows a double opt-in
process: \n 1. Agent on managed cluster creates CSR on hub with cluster
UID and agent name. 2. Agent on managed cluster creates ManagedCluster on
hub. 3. Cluster admin on hub approves the CSR for UID and agent name of
the ManagedCluster. 4. Cluster admin sets spec.acceptClient of ManagedCluster
to true. 5. Cluster admin on managed cluster creates credential of kubeconfig
to hub. \n Once the hub creates the cluster namespace, the Klusterlet agent
on the ManagedCluster pushes the credential to the hub to use against the
kube-apiserver of the ManagedCluster."
of a managed cluster. ManagedCluster is a cluster-scoped resource. The name
is the cluster UID. \n The cluster join process is a double opt-in process.
See the following join process steps: \n 1. The agent on the managed cluster
creates a CSR on the hub with the cluster UID and agent name. 2. The agent
on the managed cluster creates a ManagedCluster on the hub. 3. The cluster
admin on the hub cluster approves the CSR for the UID and agent name of
the ManagedCluster. 4. The cluster admin sets the spec.acceptClient of the
ManagedCluster to true. 5. The cluster admin on the managed cluster creates
a credential of the kubeconfig for the hub cluster. \n After the hub cluster
creates the cluster namespace, the klusterlet agent on the ManagedCluster
pushes the credential to the hub cluster to use against the kube-apiserver
of the ManagedCluster."
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

View File

@@ -16,20 +16,20 @@ import (
// +kubebuilder:printcolumn:JSONPath=`.status.conditions[?(@.type=="ManagedClusterConditionAvailable")].status`,name="Available",type=string
// +kubebuilder:printcolumn:JSONPath=`.metadata.creationTimestamp`,name="Age",type=date
// ManagedCluster represents the desired state and current status of managed
// cluster. ManagedCluster is a cluster scoped resource. The name is the cluster
// UID.
// ManagedCluster represents the desired state and current status
// of a managed cluster. ManagedCluster is a cluster-scoped resource. The name
// is the cluster UID.
//
// The cluster join process follows a double opt-in process:
// The cluster join process is a double opt-in process. See the following join process steps:
//
// 1. Agent on managed cluster creates CSR on hub with cluster UID and agent name.
// 2. Agent on managed cluster creates ManagedCluster on hub.
// 3. Cluster admin on hub approves the CSR for UID and agent name of the ManagedCluster.
// 4. Cluster admin sets spec.acceptClient of ManagedCluster to true.
// 5. Cluster admin on managed cluster creates credential of kubeconfig to hub.
// 1. The agent on the managed cluster creates a CSR on the hub with the cluster UID and agent name.
// 2. The agent on the managed cluster creates a ManagedCluster on the hub.
// 3. The cluster admin on the hub cluster approves the CSR for the UID and agent name of the ManagedCluster.
// 4. The cluster admin sets the spec.acceptClient of the ManagedCluster to true.
// 5. The cluster admin on the managed cluster creates a credential of the kubeconfig for the hub cluster.
//
// Once the hub creates the cluster namespace, the Klusterlet agent on the ManagedCluster
// pushes the credential to the hub to use against the kube-apiserver of the ManagedCluster.
// After the hub cluster creates the cluster namespace, the klusterlet agent on the ManagedCluster pushes
// the credential to the hub cluster to use against the kube-apiserver of the ManagedCluster.
type ManagedCluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

View File

@@ -22,7 +22,7 @@ func (ClientConfig) SwaggerDoc() map[string]string {
}
var map_ManagedCluster = map[string]string{
"": "ManagedCluster represents the desired state and current status of managed cluster. ManagedCluster is a cluster scoped resource. The name is the cluster UID.\n\nThe cluster join process follows a double opt-in process:\n\n1. Agent on managed cluster creates CSR on hub with cluster UID and agent name. 2. Agent on managed cluster creates ManagedCluster on hub. 3. Cluster admin on hub approves the CSR for UID and agent name of the ManagedCluster. 4. Cluster admin sets spec.acceptClient of ManagedCluster to true. 5. Cluster admin on managed cluster creates credential of kubeconfig to hub.\n\nOnce the hub creates the cluster namespace, the Klusterlet agent on the ManagedCluster pushes the credential to the hub to use against the kube-apiserver of the ManagedCluster.",
"": "ManagedCluster represents the desired state and current status of a managed cluster. ManagedCluster is a cluster-scoped resource. The name is the cluster UID.\n\nThe cluster join process is a double opt-in process. See the following join process steps:\n\n1. The agent on the managed cluster creates a CSR on the hub with the cluster UID and agent name. 2. The agent on the managed cluster creates a ManagedCluster on the hub. 3. The cluster admin on the hub cluster approves the CSR for the UID and agent name of the ManagedCluster. 4. The cluster admin sets the spec.acceptClient of the ManagedCluster to true. 5. The cluster admin on the managed cluster creates a credential of the kubeconfig for the hub cluster.\n\nAfter the hub cluster creates the cluster namespace, the klusterlet agent on the ManagedCluster pushes the credential to the hub cluster to use against the kube-apiserver of the ManagedCluster.",
"spec": "Spec represents a desired configuration for the agent on the managed cluster.",
"status": "Status represents the current status of joined managed cluster",
}

View File

@@ -34,11 +34,11 @@ spec:
to workload namespaces; 4. Namespace-scoped Placements specify a slice of
ManagedClusterSets which select a working set of potential ManagedClusters;
5. Then Placements subselect from that working set using label/claim selection.
\n No ManagedCluster will be selected if no ManagedClusterSet is bound to
the placement namespace. User is able to bind a ManagedClusterSet to a namespace
by creating a ManagedClusterSetBinding in that namespace if they have a
RBAC rule to CREATE on the virtual subresource of `managedclustersets/bind`.
\n A slice of PlacementDecisions with label cluster.open-cluster-management.io/placement={placement
\n A ManagedCluster will not be selected if no ManagedClusterSet is bound
to the placement namespace. A user is able to bind a ManagedClusterSet to
a namespace by creating a ManagedClusterSetBinding in that namespace if
they have an RBAC rule to CREATE on the virtual subresource of `managedclustersets/bind`.
\n A slice of PlacementDecisions with the label cluster.open-cluster-management.io/placement={placement
name} will be created to represent the ManagedClusters selected by this
placement. \n If a ManagedCluster is selected and added into the PlacementDecisions,
other components may apply workload on it; once it is removed from the PlacementDecisions,

View File

@@ -15,14 +15,14 @@ spec:
- name: v1beta1
schema:
openAPIV3Schema:
description: "PlacementDecision indicates a decision from a placement PlacementDecision
should has a label cluster.open-cluster-management.io/placement={placement
name} to reference a certain placement. \n If a placement has spec.numberOfClusters
specified, the total number of decisions contained in status.decisions of
PlacementDecisions should always be NumberOfClusters; otherwise, the total
number of decisions should be the number of ManagedClusters which match
the placement requirements. \n Some of the decisions might be empty when
there are no enough ManagedClusters meet the placement requirements."
description: "PlacementDecision indicates a decision from a placement. PlacementDecision
must have a cluster.open-cluster-management.io/placement={placement name}
label to reference a certain placement. \n If a placement has spec.numberOfClusters
specified, the total number of decisions contained in the status.decisions
of PlacementDecisions must be the same as NumberOfClusters. Otherwise, the
total number of decisions must equal the number of ManagedClusters that
match the placement requirements. \n Some of the decisions might be empty
when there are not enough ManagedClusters to meet the placement requirements."
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

View File

@@ -26,12 +26,12 @@ import (
// of potential ManagedClusters;
// 5. Then Placements subselect from that working set using label/claim selection.
//
// No ManagedCluster will be selected if no ManagedClusterSet is bound to the placement
// namespace. User is able to bind a ManagedClusterSet to a namespace by creating a
// ManagedClusterSetBinding in that namespace if they have a RBAC rule to CREATE on the virtual
// A ManagedCluster will not be selected if no ManagedClusterSet is bound to the placement
// namespace. A user is able to bind a ManagedClusterSet to a namespace by creating a
// ManagedClusterSetBinding in that namespace if they have an RBAC rule to CREATE on the virtual
// subresource of `managedclustersets/bind`.
//
// A slice of PlacementDecisions with label cluster.open-cluster-management.io/placement={placement name}
// A slice of PlacementDecisions with the label cluster.open-cluster-management.io/placement={placement name}
// will be created to represent the ManagedClusters selected by this placement.
//
// If a ManagedCluster is selected and added into the PlacementDecisions, other components may

View File

@@ -7,16 +7,15 @@ import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
// +kubebuilder:resource:scope="Namespaced"
// +kubebuilder:subresource:status
// PlacementDecision indicates a decision from a placement
// PlacementDecision should has a label cluster.open-cluster-management.io/placement={placement name}
// to reference a certain placement.
// PlacementDecision indicates a decision from a placement.
// PlacementDecision must have a cluster.open-cluster-management.io/placement={placement name} label to reference a certain placement.
//
// If a placement has spec.numberOfClusters specified, the total number of decisions contained in
// status.decisions of PlacementDecisions should always be NumberOfClusters; otherwise, the total
// number of decisions should be the number of ManagedClusters which match the placement requirements.
// the status.decisions of PlacementDecisions must be the same as NumberOfClusters. Otherwise, the
// total number of decisions must equal the number of ManagedClusters that
// match the placement requirements.
//
// Some of the decisions might be empty when there are no enough ManagedClusters meet the placement
// requirements.
// Some of the decisions might be empty when there are not enough ManagedClusters to meet the placement requirements.
type PlacementDecision struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

View File

@@ -91,7 +91,7 @@ func (GroupStrategy) SwaggerDoc() map[string]string {
}
var map_Placement = map[string]string{
"": "Placement defines a rule to select a set of ManagedClusters from the ManagedClusterSets bound to the placement namespace.\n\nHere is how the placement policy combines with other selection methods to determine a matching list of ManagedClusters:\n 1. Kubernetes clusters are registered with hub as cluster-scoped ManagedClusters;\n 2. ManagedClusters are organized into cluster-scoped ManagedClusterSets;\n 3. ManagedClusterSets are bound to workload namespaces;\n 4. Namespace-scoped Placements specify a slice of ManagedClusterSets which select a working set\n of potential ManagedClusters;\n 5. Then Placements subselect from that working set using label/claim selection.\n\nNo ManagedCluster will be selected if no ManagedClusterSet is bound to the placement namespace. User is able to bind a ManagedClusterSet to a namespace by creating a ManagedClusterSetBinding in that namespace if they have a RBAC rule to CREATE on the virtual subresource of `managedclustersets/bind`.\n\nA slice of PlacementDecisions with label cluster.open-cluster-management.io/placement={placement name} will be created to represent the ManagedClusters selected by this placement.\n\nIf a ManagedCluster is selected and added into the PlacementDecisions, other components may apply workload on it; once it is removed from the PlacementDecisions, the workload applied on this ManagedCluster should be evicted accordingly.",
"": "Placement defines a rule to select a set of ManagedClusters from the ManagedClusterSets bound to the placement namespace.\n\nHere is how the placement policy combines with other selection methods to determine a matching list of ManagedClusters:\n 1. Kubernetes clusters are registered with hub as cluster-scoped ManagedClusters;\n 2. ManagedClusters are organized into cluster-scoped ManagedClusterSets;\n 3. ManagedClusterSets are bound to workload namespaces;\n 4. Namespace-scoped Placements specify a slice of ManagedClusterSets which select a working set\n of potential ManagedClusters;\n 5. Then Placements subselect from that working set using label/claim selection.\n\nA ManagedCluster will not be selected if no ManagedClusterSet is bound to the placement namespace. A user is able to bind a ManagedClusterSet to a namespace by creating a ManagedClusterSetBinding in that namespace if they have an RBAC rule to CREATE on the virtual subresource of `managedclustersets/bind`.\n\nA slice of PlacementDecisions with the label cluster.open-cluster-management.io/placement={placement name} will be created to represent the ManagedClusters selected by this placement.\n\nIf a ManagedCluster is selected and added into the PlacementDecisions, other components may apply workload on it; once it is removed from the PlacementDecisions, the workload applied on this ManagedCluster should be evicted accordingly.",
"spec": "Spec defines the attributes of Placement.",
"status": "Status represents the current status of the Placement",
}
@@ -210,7 +210,7 @@ func (ClusterDecision) SwaggerDoc() map[string]string {
}
var map_PlacementDecision = map[string]string{
"": "PlacementDecision indicates a decision from a placement PlacementDecision should has a label cluster.open-cluster-management.io/placement={placement name} to reference a certain placement.\n\nIf a placement has spec.numberOfClusters specified, the total number of decisions contained in status.decisions of PlacementDecisions should always be NumberOfClusters; otherwise, the total number of decisions should be the number of ManagedClusters which match the placement requirements.\n\nSome of the decisions might be empty when there are no enough ManagedClusters meet the placement requirements.",
"": "PlacementDecision indicates a decision from a placement. PlacementDecision must have a cluster.open-cluster-management.io/placement={placement name} label to reference a certain placement.\n\nIf a placement has spec.numberOfClusters specified, the total number of decisions contained in the status.decisions of PlacementDecisions must be the same as NumberOfClusters. Otherwise, the total number of decisions must equal the number of ManagedClusters that match the placement requirements.\n\nSome of the decisions might be empty when there are not enough ManagedClusters to meet the placement requirements.",
"status": "Status represents the current status of the PlacementDecision",
}

View File

@@ -25,18 +25,18 @@ spec:
name: v1beta2
schema:
openAPIV3Schema:
description: "ManagedClusterSet defines a group of ManagedClusters that user's
workload can run on. A workload can be defined to deployed on a ManagedClusterSet,
which mean: 1. The workload can run on any ManagedCluster in the ManagedClusterSet
2. The workload cannot run on any ManagedCluster outside the ManagedClusterSet
3. The service exposed by the workload can be shared in any ManagedCluster
in the ManagedClusterSet \n In order to assign a ManagedCluster to a certian
ManagedClusterSet, add a label with name `cluster.open-cluster-management.io/clusterset`
on the ManagedCluster to refers to the ManagedClusterSet. User is not allow
to add/remove this label on a ManagedCluster unless they have a RBAC rule
to CREATE on a virtual subresource of managedclustersets/join. In order
to update this label, user must have the permission on both the old and
new ManagedClusterSet."
description: "ManagedClusterSet defines a group of ManagedClusters that you
can run workloads on. You can define a workload to be deployed on a ManagedClusterSet.
See the following options for the workload: - The workload can run on any
ManagedCluster in the ManagedClusterSet - The workload cannot run on any
ManagedCluster outside the ManagedClusterSet - The service exposed by the
workload can be shared in any ManagedCluster in the ManagedClusterSet \n
To assign a ManagedCluster to a certain ManagedClusterSet, add a label with
the name cluster.open-cluster-management.io/clusterset on the ManagedCluster
to refer to the ManagedClusterSet. You are not allowed to add or remove
this label on a ManagedCluster unless you have an RBAC rule to CREATE on
a virtual subresource of managedclustersets/join. To update this label,
you must have the permission on both the old and new ManagedClusterSet."
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

View File

@@ -19,11 +19,11 @@ spec:
schema:
openAPIV3Schema:
description: ManagedClusterSetBinding projects a ManagedClusterSet into a
certain namespace. User is able to create a ManagedClusterSetBinding in
a namespace and bind it to a ManagedClusterSet if they have an RBAC rule
to CREATE on the virtual subresource of managedclustersets/bind. Workloads
created in the same namespace can only be distributed to ManagedClusters
in ManagedClusterSets bound in this namespace by higher level controllers.
certain namespace. You can create a ManagedClusterSetBinding in a namespace
and bind it to a ManagedClusterSet if both have a RBAC rules to CREATE on
the virtual subresource of managedclustersets/bind. Workloads that you create
in the same namespace can only be distributed to ManagedClusters in ManagedClusterSets
that are bound in this namespace by higher-level controllers.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation

View File

@@ -16,17 +16,18 @@ const ClusterSetLabel = "cluster.open-cluster-management.io/clusterset"
// +kubebuilder:printcolumn:name="Empty",type="string",JSONPath=".status.conditions[?(@.type==\"ClusterSetEmpty\")].status"
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
// ManagedClusterSet defines a group of ManagedClusters that user's workload can run on.
// A workload can be defined to deployed on a ManagedClusterSet, which mean:
// 1. The workload can run on any ManagedCluster in the ManagedClusterSet
// 2. The workload cannot run on any ManagedCluster outside the ManagedClusterSet
// 3. The service exposed by the workload can be shared in any ManagedCluster in the ManagedClusterSet
// ManagedClusterSet defines a group of ManagedClusters that you can run
// workloads on. You can define a workload to be deployed on a ManagedClusterSet. See the following options for the workload:
// - The workload can run on any ManagedCluster in the ManagedClusterSet
// - The workload cannot run on any ManagedCluster outside the ManagedClusterSet
// - The service exposed by the workload can be shared in any ManagedCluster in the ManagedClusterSet
//
// In order to assign a ManagedCluster to a certian ManagedClusterSet, add a label with name
// `cluster.open-cluster-management.io/clusterset` on the ManagedCluster to refers to the ManagedClusterSet.
// User is not allow to add/remove this label on a ManagedCluster unless they have a RBAC rule to CREATE on
// a virtual subresource of managedclustersets/join. In order to update this label, user must have the permission
// on both the old and new ManagedClusterSet.
// To assign a ManagedCluster to a certain ManagedClusterSet, add a label with the name cluster.open-cluster-management.io/clusterset
// on the ManagedCluster to refer to the ManagedClusterSet. You are not
// allowed to add or remove this label on a ManagedCluster unless you have an
// RBAC rule to CREATE on a virtual subresource of managedclustersets/join.
// To update this label, you must have the permission on both
// the old and new ManagedClusterSet.
type ManagedClusterSet struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

View File

@@ -11,11 +11,10 @@ import (
// +kubebuilder:storageversion
// ManagedClusterSetBinding projects a ManagedClusterSet into a certain namespace.
// User is able to create a ManagedClusterSetBinding in a namespace and bind it to a
// ManagedClusterSet if they have an RBAC rule to CREATE on the virtual subresource of
// managedclustersets/bind. Workloads created in the same namespace can only be
// distributed to ManagedClusters in ManagedClusterSets bound in this namespace by
// higher level controllers.
// You can create a ManagedClusterSetBinding in a namespace and bind it to a
// ManagedClusterSet if both have a RBAC rules to CREATE on the virtual subresource of managedclustersets/bind.
// Workloads that you create in the same namespace can only be distributed to ManagedClusters
// in ManagedClusterSets that are bound in this namespace by higher-level controllers.
type ManagedClusterSetBinding struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

View File

@@ -22,7 +22,7 @@ func (ManagedClusterSelector) SwaggerDoc() map[string]string {
}
var map_ManagedClusterSet = map[string]string{
"": "ManagedClusterSet defines a group of ManagedClusters that user's workload can run on. A workload can be defined to deployed on a ManagedClusterSet, which mean:\n 1. The workload can run on any ManagedCluster in the ManagedClusterSet\n 2. The workload cannot run on any ManagedCluster outside the ManagedClusterSet\n 3. The service exposed by the workload can be shared in any ManagedCluster in the ManagedClusterSet\n\nIn order to assign a ManagedCluster to a certian ManagedClusterSet, add a label with name `cluster.open-cluster-management.io/clusterset` on the ManagedCluster to refers to the ManagedClusterSet. User is not allow to add/remove this label on a ManagedCluster unless they have a RBAC rule to CREATE on a virtual subresource of managedclustersets/join. In order to update this label, user must have the permission on both the old and new ManagedClusterSet.",
"": "ManagedClusterSet defines a group of ManagedClusters that you can run workloads on. You can define a workload to be deployed on a ManagedClusterSet. See the following options for the workload: - The workload can run on any ManagedCluster in the ManagedClusterSet - The workload cannot run on any ManagedCluster outside the ManagedClusterSet - The service exposed by the workload can be shared in any ManagedCluster in the ManagedClusterSet\n\nTo assign a ManagedCluster to a certain ManagedClusterSet, add a label with the name cluster.open-cluster-management.io/clusterset on the ManagedCluster to refer to the ManagedClusterSet. You are not allowed to add or remove this label on a ManagedCluster unless you have an RBAC rule to CREATE on a virtual subresource of managedclustersets/join. To update this label, you must have the permission on both the old and new ManagedClusterSet.",
"spec": "Spec defines the attributes of the ManagedClusterSet",
"status": "Status represents the current status of the ManagedClusterSet",
}
@@ -60,7 +60,7 @@ func (ManagedClusterSetStatus) SwaggerDoc() map[string]string {
}
var map_ManagedClusterSetBinding = map[string]string{
"": "ManagedClusterSetBinding projects a ManagedClusterSet into a certain namespace. User is able to create a ManagedClusterSetBinding in a namespace and bind it to a ManagedClusterSet if they have an RBAC rule to CREATE on the virtual subresource of managedclustersets/bind. Workloads created in the same namespace can only be distributed to ManagedClusters in ManagedClusterSets bound in this namespace by higher level controllers.",
"": "ManagedClusterSetBinding projects a ManagedClusterSet into a certain namespace. You can create a ManagedClusterSetBinding in a namespace and bind it to a ManagedClusterSet if both have a RBAC rules to CREATE on the virtual subresource of managedclustersets/bind. Workloads that you create in the same namespace can only be distributed to ManagedClusters in ManagedClusterSets that are bound in this namespace by higher-level controllers.",
"spec": "Spec defines the attributes of ManagedClusterSetBinding.",
"status": "Status represents the current status of the ManagedClusterSetBinding",
}