Documentation ¶
Overview ¶
+kubebuilder:validation:Optional +groupName=addon.open-cluster-management.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AddOnMeta
- type ClusterManagementAddOn
- type ClusterManagementAddOnList
- type ClusterManagementAddOnSpec
- type ClusterManagementAddOnStatus
- type ConfigCoordinates
- type ManagedClusterAddOn
- type ManagedClusterAddOnList
- type ManagedClusterAddOnSpec
- type ManagedClusterAddOnStatus
- type ObjectReference
- type RegistrationConfig
- type Subject
Constants ¶
const ( // ManagedClusterAddOnConditionAvailable represents that the addon agent is running on the managed cluster ManagedClusterAddOnConditionAvailable string = "Available" // ManagedClusterAddOnConditionDegraded represents that the addon agent is providing degraded service on // the managed cluster. ManagedClusterAddOnConditionDegraded string = "Degraded" )
Variables ¶
var ( GroupName = "addon.open-cluster-management.io" GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} // Install is a function which adds this version to a scheme Install = schemeBuilder.AddToScheme // SchemeGroupVersion generated code relies on this name // Deprecated SchemeGroupVersion = GroupVersion // AddToScheme exists solely to keep the old generators creating valid code // DEPRECATED AddToScheme = schemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource generated code relies on this being here, but it logically belongs to the group DEPRECATED
Types ¶
type AddOnMeta ¶
type AddOnMeta struct { // displayName represents the name of add-on that will be displayed. // +optional DisplayName string `json:"displayName"` // description represents the detailed description of the add-on. // +optional Description string `json:"description"` }
AddOnMeta represents a collection of metadata information for the add-on.
func (*AddOnMeta) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddOnMeta.
func (*AddOnMeta) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AddOnMeta) SwaggerDoc ¶
type ClusterManagementAddOn ¶
type ClusterManagementAddOn struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // spec represents a desired configuration for the agent on the cluster management add-on. // +required Spec ClusterManagementAddOnSpec `json:"spec"` // status represents the current status of cluster management add-on. // +optional Status ClusterManagementAddOnStatus `json:"status,omitempty"` }
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.
func (*ClusterManagementAddOn) DeepCopy ¶
func (in *ClusterManagementAddOn) DeepCopy() *ClusterManagementAddOn
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterManagementAddOn.
func (*ClusterManagementAddOn) DeepCopyInto ¶
func (in *ClusterManagementAddOn) DeepCopyInto(out *ClusterManagementAddOn)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterManagementAddOn) DeepCopyObject ¶
func (in *ClusterManagementAddOn) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ClusterManagementAddOn) SwaggerDoc ¶
func (ClusterManagementAddOn) SwaggerDoc() map[string]string
type ClusterManagementAddOnList ¶
type ClusterManagementAddOnList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds // +optional metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of cluster management add-ons. Items []ClusterManagementAddOn `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object ClusterManagementAddOnList is a collection of cluster management add-ons.
func (*ClusterManagementAddOnList) DeepCopy ¶
func (in *ClusterManagementAddOnList) DeepCopy() *ClusterManagementAddOnList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterManagementAddOnList.
func (*ClusterManagementAddOnList) DeepCopyInto ¶
func (in *ClusterManagementAddOnList) DeepCopyInto(out *ClusterManagementAddOnList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterManagementAddOnList) DeepCopyObject ¶
func (in *ClusterManagementAddOnList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ClusterManagementAddOnList) SwaggerDoc ¶
func (ClusterManagementAddOnList) SwaggerDoc() map[string]string
type ClusterManagementAddOnSpec ¶
type ClusterManagementAddOnSpec struct { // addOnMeta is a reference to the metadata information for the add-on. // +optional AddOnMeta AddOnMeta `json:"addOnMeta"` // addOnConfiguration is a reference to configuration information for the add-on. // In scenario where a multiple add-ons share the same add-on CRD, // multiple ClusterManagementAddOn resources need to be created and reference the same AddOnConfiguration. // +optional AddOnConfiguration ConfigCoordinates `json:"addOnConfiguration"` }
ClusterManagementAddOnSpec provides information for the add-on.
func (*ClusterManagementAddOnSpec) DeepCopy ¶
func (in *ClusterManagementAddOnSpec) DeepCopy() *ClusterManagementAddOnSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterManagementAddOnSpec.
func (*ClusterManagementAddOnSpec) DeepCopyInto ¶
func (in *ClusterManagementAddOnSpec) DeepCopyInto(out *ClusterManagementAddOnSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ClusterManagementAddOnSpec) SwaggerDoc ¶
func (ClusterManagementAddOnSpec) SwaggerDoc() map[string]string
type ClusterManagementAddOnStatus ¶
type ClusterManagementAddOnStatus struct { }
ClusterManagementAddOnStatus represents the current status of cluster management add-on.
func (*ClusterManagementAddOnStatus) DeepCopy ¶
func (in *ClusterManagementAddOnStatus) DeepCopy() *ClusterManagementAddOnStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterManagementAddOnStatus.
func (*ClusterManagementAddOnStatus) DeepCopyInto ¶
func (in *ClusterManagementAddOnStatus) DeepCopyInto(out *ClusterManagementAddOnStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ClusterManagementAddOnStatus) SwaggerDoc ¶
func (ClusterManagementAddOnStatus) SwaggerDoc() map[string]string
type ConfigCoordinates ¶
type ConfigCoordinates struct { // crdName is the name of the CRD used to configure instances of the managed add-on. // This field should be configured if the add-on have a CRD that controls the configuration of the add-on. // +optional CRDName string `json:"crdName"` // crName is the name of the CR used to configure instances of the managed add-on. // This field should be configured if add-on CR have a consistent name across the all of the ManagedCluster instaces. // +optional CRName string `json:"crName"` }
ConfigCoordinates represents the information for locating the CRD and CR that configures the add-on.
func (*ConfigCoordinates) DeepCopy ¶
func (in *ConfigCoordinates) DeepCopy() *ConfigCoordinates
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigCoordinates.
func (*ConfigCoordinates) DeepCopyInto ¶
func (in *ConfigCoordinates) DeepCopyInto(out *ConfigCoordinates)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConfigCoordinates) SwaggerDoc ¶
func (ConfigCoordinates) SwaggerDoc() map[string]string
type ManagedClusterAddOn ¶
type ManagedClusterAddOn struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // spec holds configuration that could apply to any operator. // +kubebuilder:validation:Required // +required Spec ManagedClusterAddOnSpec `json:"spec"` // status holds the information about the state of an operator. It is consistent with status information across // the Kubernetes ecosystem. // +optional Status ManagedClusterAddOnStatus `json:"status"` }
ManagedClusterAddOn is the Custom Resource object which holds the current state of an add-on. This object is used by add-on operators to convey their state. This resource should be created in the ManagedCluster namespace.
func (*ManagedClusterAddOn) DeepCopy ¶
func (in *ManagedClusterAddOn) DeepCopy() *ManagedClusterAddOn
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAddOn.
func (*ManagedClusterAddOn) DeepCopyInto ¶
func (in *ManagedClusterAddOn) DeepCopyInto(out *ManagedClusterAddOn)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagedClusterAddOn) DeepCopyObject ¶
func (in *ManagedClusterAddOn) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ManagedClusterAddOn) SwaggerDoc ¶
func (ManagedClusterAddOn) SwaggerDoc() map[string]string
type ManagedClusterAddOnList ¶
type ManagedClusterAddOnList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ManagedClusterAddOn `json:"items"` }
ManagedClusterAddOnList is a list of ManagedClusterAddOn resources. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ManagedClusterAddOnList) DeepCopy ¶
func (in *ManagedClusterAddOnList) DeepCopy() *ManagedClusterAddOnList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAddOnList.
func (*ManagedClusterAddOnList) DeepCopyInto ¶
func (in *ManagedClusterAddOnList) DeepCopyInto(out *ManagedClusterAddOnList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManagedClusterAddOnList) DeepCopyObject ¶
func (in *ManagedClusterAddOnList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ManagedClusterAddOnList) SwaggerDoc ¶
func (ManagedClusterAddOnList) SwaggerDoc() map[string]string
type ManagedClusterAddOnSpec ¶
type ManagedClusterAddOnSpec struct { // installNamespace is the namespace on the managed cluster to install the addon agent. // If it is not set, open-cluster-management-agent-addon namespace is used to install the addon agent. // +optional // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ InstallNamespace string `json:"installNamespace,omitempty"` }
ManagedClusterAddOnSpec defines the install configuration of an addon agent on managed cluster.
func (*ManagedClusterAddOnSpec) DeepCopy ¶
func (in *ManagedClusterAddOnSpec) DeepCopy() *ManagedClusterAddOnSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAddOnSpec.
func (*ManagedClusterAddOnSpec) DeepCopyInto ¶
func (in *ManagedClusterAddOnSpec) DeepCopyInto(out *ManagedClusterAddOnSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ManagedClusterAddOnSpec) SwaggerDoc ¶
func (ManagedClusterAddOnSpec) SwaggerDoc() map[string]string
type ManagedClusterAddOnStatus ¶
type ManagedClusterAddOnStatus struct { // conditions describe the state of the managed and monitored components for the operator. // +patchMergeKey=type // +patchStrategy=merge // +optional Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // relatedObjects is a list of objects that are "interesting" or related to this operator. Common uses are: // 1. the detailed resource driving the operator // 2. operator namespaces // 3. operand namespaces // 4. related ClusterManagementAddon resource // +optional RelatedObjects []ObjectReference `json:"relatedObjects,omitempty"` // addOnMeta is a reference to the metadata information for the add-on. // This should be same as the addOnMeta for the corresponding ClusterManagementAddOn resource. // +optional AddOnMeta AddOnMeta `json:"addOnMeta"` // addOnConfiguration is a reference to configuration information for the add-on. // This resource is use to locate the configuration resource for the add-on. // +optional AddOnConfiguration ConfigCoordinates `json:"addOnConfiguration"` // registrations is the conifigurations for the addon agent to register to hub. It should be set by each addon controller // on hub to define how the addon agent on managedcluster is registered. With the registration defined, // The addon agent can access to kube apiserver with kube style API or other endpoints on hub cluster with client // certificate authentication. A csr will be created per registration configuration. If more than one // registrationConfig is defined, a csr will be created for each registration configuration. It is not allowed that // multiple registrationConfigs have the same signer name. After the csr is approved on the hub cluster, the klusterlet // agent will create a secret in the installNamespace for the registrationConfig. If the signerName is // "kubernetes.io/kube-apiserver-client", the secret name will be "{addon name}-hub-kubeconfig" whose contents includes // key/cert and kubeconfig. Otherwise, the secret name will be "{addon name}-{signer name}-client-cert" whose contents includes key/cert. // +optional Registrations []RegistrationConfig `json:"registrations,omitempty"` }
ManagedClusterAddOnStatus provides information about the status of the operator. +k8s:deepcopy-gen=true
func (*ManagedClusterAddOnStatus) DeepCopy ¶
func (in *ManagedClusterAddOnStatus) DeepCopy() *ManagedClusterAddOnStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAddOnStatus.
func (*ManagedClusterAddOnStatus) DeepCopyInto ¶
func (in *ManagedClusterAddOnStatus) DeepCopyInto(out *ManagedClusterAddOnStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ManagedClusterAddOnStatus) SwaggerDoc ¶
func (ManagedClusterAddOnStatus) SwaggerDoc() map[string]string
type ObjectReference ¶
type ObjectReference struct { // group of the referent. // +kubebuilder:validation:Required // +required Group string `json:"group"` // resource of the referent. // +kubebuilder:validation:Required // +required Resource string `json:"resource"` // namespace of the referent. // +optional Namespace string `json:"namespace,omitempty"` // name of the referent. // +kubebuilder:validation:Required // +required Name string `json:"name"` }
ObjectReference contains enough information to let you inspect or modify the referred object.
func (*ObjectReference) DeepCopy ¶
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ObjectReference) SwaggerDoc ¶
func (ObjectReference) SwaggerDoc() map[string]string
type RegistrationConfig ¶
type RegistrationConfig struct { // signerName is the name of signer that addon agent will use to create csr. // +required // +kubebuilder:validation:MaxLength=571 // +kubebuilder:validation:MinLength=5 SignerName string `json:"signerName"` // subject is the user subject of the addon agent to be registered to the hub. // If it is not set, the addon agent will have the default subject // "subject": { // "user": "system:open-cluster-management:addon:{addonName}:{clusterName}:{agentName}", // "groups: ["system:open-cluster-management:addon", "system:open-cluster-management:addon:{addonName}", "system:authenticated"] // } // // +optional Subject Subject `json:"subject,omitempty"` }
RegistrationConfig defines the configuration of the addon agent to register to hub. The Klusterlet agent will create a csr for the addon agent with the registrationConfig.
func (*RegistrationConfig) DeepCopy ¶
func (in *RegistrationConfig) DeepCopy() *RegistrationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistrationConfig.
func (*RegistrationConfig) DeepCopyInto ¶
func (in *RegistrationConfig) DeepCopyInto(out *RegistrationConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RegistrationConfig) SwaggerDoc ¶
func (RegistrationConfig) SwaggerDoc() map[string]string
type Subject ¶
type Subject struct { // user is the user name of the addon agent. User string `json:"user"` // groups is the user group of the addon agent. // +optional Groups []string `json:"groups,omitempty"` // organizationUnit is the ou of the addon agent // +optional OrganizationUnits []string `json:"organizationUnit,omitempty"` }
Subject is the user subject of the addon agent to be registered to the hub.
func (*Subject) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subject.
func (*Subject) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.