Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the klusterletconfig v1alpha1 API group +k8s:deepcopy-gen=package,register +k8s:openapi-gen=true +kubebuilder:validation:Optional +groupName=config.open-cluster-management.io
Index ¶
Constants ¶
const ( GroupName = "config.open-cluster-management.io" Version = "v1alpha1" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: GroupName, Version: Version} // 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 adds the types in this group-version to the given scheme. AddToScheme = schemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type InstallMode ¶
type InstallMode struct { // InstallModeType is the type of install mode. // +kubebuilder:default=default // +kubebuilder:validation:Enum=default;noOperator Type InstallModeType `json:"type,omitempty"` // NoOperator is the setting of klusterlet installation when install type is noOperator. NoOperator *NoOperator `json:"noOperator,omitempty"` }
func (*InstallMode) DeepCopy ¶
func (in *InstallMode) DeepCopy() *InstallMode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallMode.
func (*InstallMode) DeepCopyInto ¶
func (in *InstallMode) DeepCopyInto(out *InstallMode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InstallMode) SwaggerDoc ¶
func (InstallMode) SwaggerDoc() map[string]string
type InstallModeType ¶
type InstallModeType string
const ( // InstallModeDefault is the default mode to install klusterlet, the name of the Klusterlet resource // is klusterlet and the klusterlet namespace is open-cluster-management-agent. InstallModeDefault InstallModeType = "default" // InstallModeNoOperator is to install klusterlet without installing klusterlet operator. The name of // the klusterlet is by default klusterlet and can be set to klusterlet-{KlusterletNamePostFix}. The // install namespace of the klusterlet is open-cluster-management-{KlusterletNamePostFix} InstallModeNoOperator InstallModeType = "noOperator" )
type KlusterletConfig ¶
type KlusterletConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines the desired state of KlusterletConfig // +optional Spec KlusterletConfigSpec `json:"spec,omitempty"` // Status defines the observed state of KlusterletConfig // +optional Status KlusterletConfigStatus `json:"status,omitempty"` }
KlusterletConfig contains the configuration of a klusterlet including the upgrade strategy, config overrides, proxy configurations etc.
func (*KlusterletConfig) DeepCopy ¶
func (in *KlusterletConfig) DeepCopy() *KlusterletConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KlusterletConfig.
func (*KlusterletConfig) DeepCopyInto ¶
func (in *KlusterletConfig) DeepCopyInto(out *KlusterletConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KlusterletConfig) DeepCopyObject ¶
func (in *KlusterletConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (KlusterletConfig) SwaggerDoc ¶
func (KlusterletConfig) SwaggerDoc() map[string]string
type KlusterletConfigList ¶
type KlusterletConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KlusterletConfig `json:"items"` }
KlusterletConfigList contains a list of KlusterletConfig.
func (*KlusterletConfigList) DeepCopy ¶
func (in *KlusterletConfigList) DeepCopy() *KlusterletConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KlusterletConfigList.
func (*KlusterletConfigList) DeepCopyInto ¶
func (in *KlusterletConfigList) DeepCopyInto(out *KlusterletConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KlusterletConfigList) DeepCopyObject ¶
func (in *KlusterletConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (KlusterletConfigList) SwaggerDoc ¶
func (KlusterletConfigList) SwaggerDoc() map[string]string
type KlusterletConfigSpec ¶
type KlusterletConfigSpec struct { // Registries includes the mirror and source registries. The source registry will be replaced by the Mirror. // +optional Registries []Registries `json:"registries,omitempty"` // PullSecret is the name of image pull secret. // +optional PullSecret corev1.ObjectReference `json:"pullSecret,omitempty"` // NodePlacement enables explicit control over the scheduling of the agent components. // If the placement is nil, the placement is not specified, it will be omitted. // If the placement is an empty object, the placement will match all nodes and tolerate nothing. // +optional NodePlacement *operatorv1.NodePlacement `json:"nodePlacement,omitempty"` // HubKubeAPIServerProxyConfig holds proxy settings for connections between klusterlet/add-on agents // on the managed cluster and the kube-apiserver on the hub cluster. // Empty means no proxy settings is available. // +optional HubKubeAPIServerProxyConfig KubeAPIServerProxyConfig `json:"hubKubeAPIServerProxyConfig,omitempty"` // HubKubeAPIServerURL is the URL of the hub Kube API server. // If not present, the .status.apiServerURL of Infrastructure/cluster will be used as the default value. // e.g. `oc get infrastructure cluster -o jsonpath='{.status.apiServerURL}'` // +optional HubKubeAPIServerURL string `json:"hubKubeAPIServerURL,omitempty"` // HubKubeAPIServerCABundle is the CA bundle to verify the server certificate of the hub kube API // against. If not present, CA bundle will be determined with the logic below: // 1). Use the certificate of the named certificate configured in APIServer/cluster if FQDN matches; // 2). Otherwise use the CA certificates from kube-root-ca.crt ConfigMap in the cluster namespace; // +optional HubKubeAPIServerCABundle []byte `json:"hubKubeAPIServerCABundle,omitempty"` // AppliedManifestWorkEvictionGracePeriod is the eviction grace period the work agent will wait before // evicting the AppliedManifestWorks, whose corresponding ManifestWorks are missing on the hub cluster, from // the managed cluster. If not present, the default value of the work agent will be used. If its value is // set to "INFINITE", it means the AppliedManifestWorks will never been evicted from the managed cluster. // +optional // +kubebuilder:validation:Pattern=`^([0-9]+(s|m|h))+$|^INFINITE$` AppliedManifestWorkEvictionGracePeriod string `json:"appliedManifestWorkEvictionGracePeriod,omitempty"` // InstallMode is the mode to install the klusterlet InstallMode *InstallMode `json:"installMode,omitempty"` // BootstrapKubeConfigSecrets is the list of secrets that reflects the // Klusterlet.Spec.RegistrationConfiguration.BootstrapKubeConfigs. BootstrapKubeConfigs operatorv1.BootstrapKubeConfigs `json:"bootstrapKubeConfigs,omitempty"` }
KlusterletConfigSpec defines the desired state of KlusterletConfig, usually provided by the user.
func (*KlusterletConfigSpec) DeepCopy ¶
func (in *KlusterletConfigSpec) DeepCopy() *KlusterletConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KlusterletConfigSpec.
func (*KlusterletConfigSpec) DeepCopyInto ¶
func (in *KlusterletConfigSpec) DeepCopyInto(out *KlusterletConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KlusterletConfigSpec) SwaggerDoc ¶
func (KlusterletConfigSpec) SwaggerDoc() map[string]string
type KlusterletConfigStatus ¶
type KlusterletConfigStatus struct { }
KlusterletConfigStatus defines the observed state of KlusterletConfig.
func (*KlusterletConfigStatus) DeepCopy ¶
func (in *KlusterletConfigStatus) DeepCopy() *KlusterletConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KlusterletConfigStatus.
func (*KlusterletConfigStatus) DeepCopyInto ¶
func (in *KlusterletConfigStatus) DeepCopyInto(out *KlusterletConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KlusterletConfigStatus) SwaggerDoc ¶
func (KlusterletConfigStatus) SwaggerDoc() map[string]string
type KubeAPIServerProxyConfig ¶
type KubeAPIServerProxyConfig struct { // HTTPProxy is the URL of the proxy for HTTP requests // +optional HTTPProxy string `json:"httpProxy,omitempty"` // HTTPSProxy is the URL of the proxy for HTTPS requests // HTTPSProxy will be chosen if both HTTPProxy and HTTPSProxy are set. // +optional HTTPSProxy string `json:"httpsProxy,omitempty"` // CABundle is a CA certificate bundle to verify the proxy server. // It will be ignored if only HTTPProxy is set; // And it is required when HTTPSProxy is set and self signed CA certificate is used // by the proxy server. // +optional CABundle []byte `json:"caBundle,omitempty"` }
KubeAPIServerProxyConfig describes the proxy settings for the connections to a kube-apiserver
func (*KubeAPIServerProxyConfig) DeepCopy ¶
func (in *KubeAPIServerProxyConfig) DeepCopy() *KubeAPIServerProxyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeAPIServerProxyConfig.
func (*KubeAPIServerProxyConfig) DeepCopyInto ¶
func (in *KubeAPIServerProxyConfig) DeepCopyInto(out *KubeAPIServerProxyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KubeAPIServerProxyConfig) SwaggerDoc ¶
func (KubeAPIServerProxyConfig) SwaggerDoc() map[string]string
type NoOperator ¶
type NoOperator struct { // Postfix is the postfix of the klusterlet name. The name of the klusterlet is "klusterlet" if // it is not set, and "klusterlet-{Postfix}". The install namespace is "open-cluster-management-agent" // if it is not set, and "open-cluster-management-{Postfix}". // +kubebuilder:validation:MaxLength=33 // +kubebuilder:validation:Pattern=^[-a-z0-9]*[a-z0-9]$ Postfix string `json:"postfix,omitempty"` }
func (*NoOperator) DeepCopy ¶
func (in *NoOperator) DeepCopy() *NoOperator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NoOperator.
func (*NoOperator) DeepCopyInto ¶
func (in *NoOperator) DeepCopyInto(out *NoOperator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NoOperator) SwaggerDoc ¶
func (NoOperator) SwaggerDoc() map[string]string
type Registries ¶
type Registries struct { // Mirror is the mirrored registry of the Source. Will be ignored if Mirror is empty. // +kubebuilder:validation:Required // +required Mirror string `json:"mirror"` // Source is the source registry. All image registries will be replaced by Mirror if Source is empty. // +optional Source string `json:"source"` }
func (*Registries) DeepCopy ¶
func (in *Registries) DeepCopy() *Registries
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Registries.
func (*Registries) DeepCopyInto ¶
func (in *Registries) DeepCopyInto(out *Registries)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Registries) SwaggerDoc ¶
func (Registries) SwaggerDoc() map[string]string