Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the fleetconfig v1alpha1 API group. +kubebuilder:object:generate=true +groupName=fleetconfig.open-cluster-management.io
Index ¶
- Constants
- Variables
- func SetupFleetConfigWebhookWithManager(mgr ctrl.Manager) error
- type ClusterManager
- type Condition
- type FleetConfig
- type FleetConfigCustomDefaulter
- type FleetConfigCustomValidator
- func (in *FleetConfigCustomValidator) DeepCopy() *FleetConfigCustomValidator
- func (in *FleetConfigCustomValidator) DeepCopyInto(out *FleetConfigCustomValidator)
- func (v *FleetConfigCustomValidator) ValidateCreate(_ context.Context, obj runtime.Object) (admission.Warnings, error)
- func (v *FleetConfigCustomValidator) ValidateDelete(_ context.Context, obj runtime.Object) (admission.Warnings, error)
- func (v *FleetConfigCustomValidator) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type FleetConfigList
- type FleetConfigSpec
- type FleetConfigStatus
- func (in *FleetConfigStatus) DeepCopy() *FleetConfigStatus
- func (in *FleetConfigStatus) DeepCopyInto(out *FleetConfigStatus)
- func (s *FleetConfigStatus) Equal(other *FleetConfigStatus) bool
- func (s *FleetConfigStatus) GetCondition(cType string) *Condition
- func (s *FleetConfigStatus) SetConditions(cover bool, c ...Condition)
- func (s *FleetConfigStatus) ToComparable(_ ...Condition) *FleetConfigStatus
- type Helm
- type Hub
- type JoinedSpoke
- type Klusterlet
- type Kubeconfig
- type ManagedClusterType
- type OCMSource
- type RegistrationAuth
- type ResourceSpec
- type ResourceValues
- type SecretReference
- type SingletonControlPlane
- type Spoke
Constants ¶
const ( // FleetConfigHubInitialized means that the Hub has been initialized. FleetConfigHubInitialized = "HubInitialized" // FleetConfigCleanupFailed means that a failure occurred during cleanup. FleetConfigCleanupFailed = "CleanupFailed" )
FleetConfig condition types
const ( // FleetConfigStarting means that the Hub and Spoke(s) are being initialized / joined. FleetConfigStarting = "Initializing" // FleetConfigRunning means that the Hub is initialized and all Spoke(s) have joined successfully. FleetConfigRunning = "Running" // FleetConfigUnhealthy means that a failure occurred during Hub initialization and/or Spoke join attempt. FleetConfigUnhealthy = "Unhealthy" // FleetConfigDeleting means that the FleetConfig is being deleted. FleetConfigDeleting = "Deleting" )
FleetConfig phases
const ( // ManagedClusterTypeHub is the type of managed cluster that is a hub. ManagedClusterTypeHub = "hub" // ManagedClusterTypeSpoke is the type of managed cluster that is a spoke. ManagedClusterTypeSpoke = "spoke" // ManagedClusterTypeHubAsSpoke is the type of managed cluster that is both a hub and a spoke. ManagedClusterTypeHubAsSpoke = "hub-as-spoke" )
const ( // CSRRegistrationDriver is the default CSR-based registration driver. CSRRegistrationDriver = "csr" // AWSIRSARegistrationDriver is the AWS IAM Role for Service Accounts (IRSA) registration driver. AWSIRSARegistrationDriver = "awsirsa" )
Registration driver types
const (
// FleetConfigFinalizer is the finalizer for FleetConfig cleanup.
FleetConfigFinalizer = "fleetconfig.open-cluster-management.io/cleanup"
)
const (
// LabelManagedClusterType is the label key for the managed cluster type.
LabelManagedClusterType = "fleetconfig.open-cluster-management.io/managedClusterType"
)
FleetConfig labels
const (
ReconcileSuccess = "ReconcileSuccess"
)
FleetConfig condition reasons
Variables ¶
var ( // GroupKind is the group kind for the fleetconfig API. GroupKind = schema.GroupKind{Group: group, Kind: "FleetConfig"} // GroupVersion is the group version for the fleetconfig API. GroupVersion = schema.GroupVersion{Group: group, Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func SetupFleetConfigWebhookWithManager ¶
SetupFleetConfigWebhookWithManager registers the webhook for FleetConfig in the manager.
Types ¶
type ClusterManager ¶
type ClusterManager struct {
// A set of comma-separated pairs of the form 'key1=value1,key2=value2' that describe feature gates for alpha/experimental features.
// Options are:
// - AddonManagement (ALPHA - default=true)
// - AllAlpha (ALPHA - default=false)
// - AllBeta (BETA - default=false)
// - CloudEventsDrivers (ALPHA - default=false)
// - DefaultClusterSet (ALPHA - default=false)
// - ManagedClusterAutoApproval (ALPHA - default=false)
// - ManifestWorkReplicaSet (ALPHA - default=false)
// - NilExecutorValidating (ALPHA - default=false)
// - ResourceCleanup (BETA - default=true)
// - V1beta1CSRAPICompatibility (ALPHA - default=false)
// +kubebuilder:default:="AddonManagement=true"
FeatureGates string `json:"featureGates,omitempty"`
// If set, the cluster manager operator will be purged and the open-cluster-management namespace deleted
// when the FleetConfig CR is deleted.
// +kubebuilder:default:=true
PurgeOperator bool `json:"purgeOperator,omitempty"`
// Resource specifications for all clustermanager-managed containers.
Resources *ResourceSpec `json:"resources,omitempty"`
// Version and image registry details for the cluster manager.
// +kubebuilder:default:={}
Source *OCMSource `json:"source,omitempty"`
// If set, the bootstrap token will used instead of a service account token.
UseBootstrapToken bool `json:"useBootstrapToken,omitempty"`
}
ClusterManager is the configuration for a cluster manager.
func (*ClusterManager) DeepCopy ¶
func (in *ClusterManager) DeepCopy() *ClusterManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterManager.
func (*ClusterManager) DeepCopyInto ¶
func (in *ClusterManager) DeepCopyInto(out *ClusterManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Condition ¶
type Condition struct {
metav1.Condition `json:",inline"`
WantStatus metav1.ConditionStatus `json:"wantStatus"`
}
Condition describes the state of a FleetConfig.
func NewCondition ¶
func NewCondition(msg, cType string, status, wantStatus metav1.ConditionStatus) Condition
NewCondition returns a new v1alpha1.Condition.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FleetConfig ¶
type FleetConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec FleetConfigSpec `json:"spec,omitempty"`
Status FleetConfigStatus `json:"status,omitempty"`
}
FleetConfig is the Schema for the fleetconfigs API.
func (*FleetConfig) DeepCopy ¶
func (in *FleetConfig) DeepCopy() *FleetConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FleetConfig.
func (*FleetConfig) DeepCopyInto ¶
func (in *FleetConfig) DeepCopyInto(out *FleetConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FleetConfig) DeepCopyObject ¶
func (in *FleetConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FleetConfig) GetCondition ¶
func (m *FleetConfig) GetCondition(cType string) *Condition
GetCondition gets the condition with the supplied type, if it exists.
func (*FleetConfig) SetConditions ¶
func (m *FleetConfig) SetConditions(cover bool, c ...Condition)
SetConditions sets the supplied conditions on a FleetConfig, replacing any existing conditions.
type FleetConfigCustomDefaulter ¶
type FleetConfigCustomDefaulter struct {
}
FleetConfigCustomDefaulter struct is responsible for setting default values on the custom resource of the Kind FleetConfig when those are created or updated.
NOTE: The +kubebuilder:object:generate=false marker prevents controller-gen from generating DeepCopy methods, as it is used only for temporary operations and does not need to be deeply copied.
func (*FleetConfigCustomDefaulter) DeepCopy ¶
func (in *FleetConfigCustomDefaulter) DeepCopy() *FleetConfigCustomDefaulter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FleetConfigCustomDefaulter.
func (*FleetConfigCustomDefaulter) DeepCopyInto ¶
func (in *FleetConfigCustomDefaulter) DeepCopyInto(out *FleetConfigCustomDefaulter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FleetConfigCustomValidator ¶
type FleetConfigCustomValidator struct {
}
FleetConfigCustomValidator struct is responsible for validating the FleetConfig resource when it is created, updated, or deleted.
NOTE: The +kubebuilder:object:generate=false marker prevents controller-gen from generating DeepCopy methods, as this struct is used only for temporary operations and does not need to be deeply copied.
func (*FleetConfigCustomValidator) DeepCopy ¶
func (in *FleetConfigCustomValidator) DeepCopy() *FleetConfigCustomValidator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FleetConfigCustomValidator.
func (*FleetConfigCustomValidator) DeepCopyInto ¶
func (in *FleetConfigCustomValidator) DeepCopyInto(out *FleetConfigCustomValidator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FleetConfigCustomValidator) ValidateCreate ¶
func (v *FleetConfigCustomValidator) ValidateCreate(_ context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*FleetConfigCustomValidator) ValidateDelete ¶
func (v *FleetConfigCustomValidator) ValidateDelete(_ context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*FleetConfigCustomValidator) ValidateUpdate ¶
func (v *FleetConfigCustomValidator) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type FleetConfigList ¶
type FleetConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []FleetConfig `json:"items"`
}
FleetConfigList contains a list of FleetConfig.
func (*FleetConfigList) DeepCopy ¶
func (in *FleetConfigList) DeepCopy() *FleetConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FleetConfigList.
func (*FleetConfigList) DeepCopyInto ¶
func (in *FleetConfigList) DeepCopyInto(out *FleetConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FleetConfigList) DeepCopyObject ¶
func (in *FleetConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FleetConfigSpec ¶
type FleetConfigSpec struct {
Hub Hub `json:"hub"`
Spokes []Spoke `json:"spokes"`
RegistrationAuth *RegistrationAuth `json:"registrationAuth,omitempty"`
}
FleetConfigSpec defines the desired state of FleetConfig.
func (*FleetConfigSpec) DeepCopy ¶
func (in *FleetConfigSpec) DeepCopy() *FleetConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FleetConfigSpec.
func (*FleetConfigSpec) DeepCopyInto ¶
func (in *FleetConfigSpec) DeepCopyInto(out *FleetConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FleetConfigStatus ¶
type FleetConfigStatus struct {
Phase string `json:"phase,omitempty"`
Conditions []Condition `json:"conditions,omitempty"`
JoinedSpokes []JoinedSpoke `json:"joinedSpokes,omitempty"`
}
FleetConfigStatus defines the observed state of FleetConfig.
func (*FleetConfigStatus) DeepCopy ¶
func (in *FleetConfigStatus) DeepCopy() *FleetConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FleetConfigStatus.
func (*FleetConfigStatus) DeepCopyInto ¶
func (in *FleetConfigStatus) DeepCopyInto(out *FleetConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FleetConfigStatus) Equal ¶
func (s *FleetConfigStatus) Equal(other *FleetConfigStatus) bool
Equal returns true if the status is identical to the supplied status, ignoring the LastTransitionTimes and order of statuses.
func (*FleetConfigStatus) GetCondition ¶
func (s *FleetConfigStatus) GetCondition(cType string) *Condition
GetCondition returns the condition with the supplied type, if it exists.
func (*FleetConfigStatus) SetConditions ¶
func (s *FleetConfigStatus) SetConditions(cover bool, c ...Condition)
SetConditions sets the supplied conditions, adding net-new conditions and replacing any existing conditions of the same type. This is a no-op if all supplied conditions are identical (ignoring the last transition time) to those already set. If cover is false, existing conditions are not replaced.
func (*FleetConfigStatus) ToComparable ¶
func (s *FleetConfigStatus) ToComparable(_ ...Condition) *FleetConfigStatus
ToComparable returns a deep copy of the FleetConfigStatus that's suitable for semantic comparison.
type Helm ¶
type Helm struct {
// Raw, YAML-formatted Helm values.
Values string `json:"values,omitempty"`
// Comma-separated Helm values, e.g., key1=val1,key2=val2.
Set []string `json:"set,omitempty"`
// Comma-separated Helm JSON values, e.g., key1=jsonval1,key2=jsonval2.
SetJSON []string `json:"setJson,omitempty"`
// Comma-separated Helm literal STRING values.
SetLiteral []string `json:"setLiteral,omitempty"`
// Comma-separated Helm STRING values, e.g., key1=val1,key2=val2.
SetString []string `json:"setString,omitempty"`
}
Helm is the configuration for helm.
func (*Helm) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Helm.
func (*Helm) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Hub ¶
type Hub struct {
// ClusterManager configuration.
// +kubebuilder:default:={}
ClusterManager *ClusterManager `json:"clusterManager,omitempty"`
// If true, create open-cluster-management namespace, otherwise use existing one.
// +kubebuilder:default:=true
CreateNamespace bool `json:"createNamespace"`
// If set, the hub will be reinitialized.
Force bool `json:"force,omitempty"`
// Kubeconfig details for the Hub cluster.
Kubeconfig *Kubeconfig `json:"kubeconfig"`
// Singleton control plane configuration. If provided, deploy a singleton control plane instead of clustermanager.
// This is an alpha stage flag.
SingletonControlPlane *SingletonControlPlane `json:"singleton,omitempty"`
// APIServer is the API server URL for the Hub cluster. If provided, the hub will be joined
// using this API server instead of the one in the obtained kubeconfig. This is useful when
// using in-cluster kubeconfig when that kubeconfig would return an incorrect API server URL.
APIServer *string `json:"apiServer,omitempty"`
}
Hub provides specifications for an OCM hub cluster.
func (*Hub) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hub.
func (*Hub) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JoinedSpoke ¶
type JoinedSpoke struct {
// The name of the spoke cluster.
Name string `json:"name"`
// Kubeconfig details for the Spoke cluster.
Kubeconfig *Kubeconfig `json:"kubeconfig"`
// If set, the klusterlet operator will be purged and all open-cluster-management namespaces deleted
// when the klusterlet is unjoined from its Hub cluster.
// +kubebuilder:default:=true
PurgeKlusterletOperator bool `json:"purgeKlusterletOperator,omitempty"`
}
JoinedSpoke represents a spoke that has been joined to a hub.
func (*JoinedSpoke) DeepCopy ¶
func (in *JoinedSpoke) DeepCopy() *JoinedSpoke
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JoinedSpoke.
func (*JoinedSpoke) DeepCopyInto ¶
func (in *JoinedSpoke) DeepCopyInto(out *JoinedSpoke)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*JoinedSpoke) UnjoinType ¶
func (j *JoinedSpoke) UnjoinType() string
UnjoinType returns a status condition type indicating that a particular Spoke cluster has been removed from the Hub.
type Klusterlet ¶
type Klusterlet struct {
// A set of comma-separated pairs of the form 'key1=value1,key2=value2' that describe feature gates for alpha/experimental features.
// Options are:
// - AddonManagement (ALPHA - default=true)
// - AllAlpha (ALPHA - default=false)
// - AllBeta (BETA - default=false)
// - ClusterClaim (ALPHA - default=true)
// - ExecutorValidatingCaches (ALPHA - default=false)
// - RawFeedbackJsonString (ALPHA - default=false)
// - V1beta1CSRAPICompatibility (ALPHA - default=false)
// +kubebuilder:default:="AddonManagement=true,ClusterClaim=true"
FeatureGates string `json:"featureGates,omitempty"`
// Deployent mode for klusterlet
// +kubebuilder:validation:Enum=Default;Hosted
// +kubebuilder:default:="Default"
Mode string `json:"mode,omitempty"`
// If set, the klusterlet operator will be purged and all open-cluster-management namespaces deleted
// when the klusterlet is unjoined from its Hub cluster.
// +kubebuilder:default:=true
PurgeOperator bool `json:"purgeOperator,omitempty"`
// If true, the installed klusterlet agent will start the cluster registration process by looking for the
// internal endpoint from the public cluster-info in the Hub cluster instead of using hubApiServer.
ForceInternalEndpointLookup bool `json:"forceInternalEndpointLookup,omitempty"`
// External managed cluster kubeconfig, required if using hosted mode.
ManagedClusterKubeconfig *Kubeconfig `json:"managedClusterKubeconfig,omitempty"`
// If true, the klusterlet accesses the managed cluster using the internal endpoint from the public
// cluster-info in the managed cluster instead of using managedClusterKubeconfig.
ForceInternalEndpointLookupManaged bool `json:"forceInternalEndpointLookupManaged,omitempty"`
// Resource specifications for all klusterlet-managed containers.
Resources *ResourceSpec `json:"resources,omitempty"`
// If true, deploy klusterlet in singleton mode, with registration and work agents running in a single pod.
// This is an alpha stage flag.
Singleton bool `json:"singleton,omitempty"`
// Version and image registry details for the klusterlet.
// +kubebuilder:default:={}
Source *OCMSource `json:"source,omitempty"`
}
Klusterlet is the configuration for a klusterlet.
func (*Klusterlet) DeepCopy ¶
func (in *Klusterlet) DeepCopy() *Klusterlet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Klusterlet.
func (*Klusterlet) DeepCopyInto ¶
func (in *Klusterlet) DeepCopyInto(out *Klusterlet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Kubeconfig ¶
type Kubeconfig struct {
// A reference to an existing secret containing a kubeconfig.
// Must be provided for remote clusters.
// For same-cluster, must be provided unless InCluster is set to true.
// +optional
SecretReference *SecretReference `json:"secretReference,omitempty"`
// If set, the kubeconfig will be read from the cluster.
// Only applicable for same-cluster operations.
// Defaults to false.
// +optional
InCluster bool `json:"inCluster,omitempty"`
// The context to use in the kubeconfig file.
Context string `json:"context,omitempty"`
}
Kubeconfig is the configuration for a kubeconfig.
func (*Kubeconfig) DeepCopy ¶
func (in *Kubeconfig) DeepCopy() *Kubeconfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kubeconfig.
func (*Kubeconfig) DeepCopyInto ¶
func (in *Kubeconfig) DeepCopyInto(out *Kubeconfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedClusterType ¶
type ManagedClusterType string
ManagedClusterType is the type of a managed cluster.
type OCMSource ¶
type OCMSource struct {
// The version of predefined compatible image versions (e.g. v0.6.0). Defaults to the latest released version.
// You can also set "latest" to install the latest development version.
// +kubebuilder:default:="default"
BundleVersion string `json:"bundleVersion,omitempty"`
// The name of the image registry serving OCM images, which will be used for all OCM components."
// +kubebuilder:default:="quay.io/open-cluster-management"
Registry string `json:"registry,omitempty"`
}
OCMSource is the configuration for an OCM source.
func (*OCMSource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCMSource.
func (*OCMSource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistrationAuth ¶
type RegistrationAuth struct {
// The registration authentication driver to use.
// Options are:
// - csr: Use the default CSR-based registration authentication.
// - awsirsa: Use AWS IAM Role for Service Accounts (IRSA) registration authentication.
// The set of valid options is open for extension.
// +kubebuilder:validation:Enum=csr;awsirsa
// +kubebuilder:default:="csr"
Driver string `json:"driver"`
// The Hub cluster ARN for awsirsa registration authentication. Required when Type is awsirsa, otherwise ignored.
HubClusterARN string `json:"hubClusterARN,omitempty"`
// List of AWS EKS ARN patterns so any EKS clusters with these patterns will be auto accepted to join with hub cluster.
// Example pattern: "arn:aws:eks:us-west-2:123456789013:cluster/.*"
AutoApprovedARNPatterns []string `json:"autoApprovedARNPatterns,omitempty"`
}
RegistrationAuth provides specifications for registration authentication.
func (*RegistrationAuth) DeepCopy ¶
func (in *RegistrationAuth) DeepCopy() *RegistrationAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistrationAuth.
func (*RegistrationAuth) DeepCopyInto ¶
func (in *RegistrationAuth) DeepCopyInto(out *RegistrationAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RegistrationAuth) GetDriver ¶
func (ra *RegistrationAuth) GetDriver() string
GetDriver returns the registration auth type, defaults to csr.
type ResourceSpec ¶
type ResourceSpec struct {
// The resource limits of all the containers managed by the Cluster Manager or Klusterlet operators.
Limits ResourceValues `json:"limits,omitempty"`
// The resource requests of all the containers managed by the Cluster Manager or Klusterlet operators.
Requests ResourceValues `json:"requests,omitempty"`
// The resource QoS class of all the containers managed by the Cluster Manager or Klusterlet operators.
// One of Default, BestEffort or ResourceRequirement.
// +kubebuilder:validation:Enum=Default;BestEffort;ResourceRequirement
// +kubebuilder:default:="Default"
QosClass string `json:"qosClass"`
}
ResourceSpec defines resource limits and requests for all managed clusters.
func (*ResourceSpec) DeepCopy ¶
func (in *ResourceSpec) DeepCopy() *ResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.
func (*ResourceSpec) DeepCopyInto ¶
func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceValues ¶
type ResourceValues struct {
// The number of CPU units to request, e.g., '800m'.
CPU string `json:"cpu,omitempty"`
// The amount of memory to request, e.g., '8Gi'.
Memory string `json:"memory,omitempty"`
}
ResourceValues detail container resource constraints.
func (*ResourceValues) DeepCopy ¶
func (in *ResourceValues) DeepCopy() *ResourceValues
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceValues.
func (*ResourceValues) DeepCopyInto ¶
func (in *ResourceValues) DeepCopyInto(out *ResourceValues)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceValues) String ¶
func (r *ResourceValues) String() string
String returns a string representation of the resource values.
type SecretReference ¶
type SecretReference struct {
// The name of the secret.
Name string `json:"name"`
// The namespace the secret is in.
Namespace string `json:"namespace"`
// The map key to access the kubeconfig.
// Leave empty to use 'kubeconfig'.
// +optional
KubeconfigKey *string `json:"kubeconfigKey,omitempty"`
}
SecretReference describes how to retrieve a kubeconfig stored as a secret
func (*SecretReference) DeepCopy ¶
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SingletonControlPlane ¶
type SingletonControlPlane struct {
// The name of the singleton control plane.
// +kubebuilder:default:="singleton-controlplane"
Name string `json:"name"`
// Helm configuration for the multicluster-controlplane Helm chart.
// For now https://open-cluster-management.io/helm-charts/ocm/multicluster-controlplane is always used - no private registry support.
// See: https://github.com/open-cluster-management-io/multicluster-controlplane/blob/main/charts/multicluster-controlplane/values.yaml
Helm Helm `json:"helm"`
}
SingletonControlPlane is the configuration for a singleton control plane
func (*SingletonControlPlane) DeepCopy ¶
func (in *SingletonControlPlane) DeepCopy() *SingletonControlPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SingletonControlPlane.
func (*SingletonControlPlane) DeepCopyInto ¶
func (in *SingletonControlPlane) DeepCopyInto(out *SingletonControlPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Spoke ¶
type Spoke struct {
// The name of the spoke cluster.
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
Name string `json:"name"`
// If true, create open-cluster-management namespace and agent namespace (open-cluster-management-agent for Default mode,
// <klusterlet-name> for Hosted mode), otherwise use existing one.
// +kubebuilder:default:=true
CreateNamespace bool `json:"createNamespace"`
// If true, sync the labels from klusterlet to all agent resources.
SyncLabels bool `json:"syncLabels,omitempty"`
// Kubeconfig details for the Spoke cluster.
Kubeconfig *Kubeconfig `json:"kubeconfig"`
// Hub cluster CA certificate, optional
Ca string `json:"ca,omitempty"`
// Proxy CA certificate, optional
ProxyCa string `json:"proxyCa,omitempty"`
// URL of a forward proxy server used by agents to connect to the Hub cluster.
ProxyURL string `json:"proxyUrl,omitempty"`
// Klusterlet configuration.
// +kubebuilder:default:={}
Klusterlet Klusterlet `json:"klusterlet,omitempty"`
// ClusterARN is the ARN of the spoke cluster.
// This field is optionally used for AWS IRSA registration authentication.
ClusterARN string `json:"clusterARN,omitempty"`
}
Spoke provides specifications for joining and potentially upgrading spokes.
func (*Spoke) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Spoke.
func (*Spoke) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.