v1alpha1

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 8, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

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

View Source
const (
	// FleetConfigHubInitialized means that the Hub has been initialized.
	FleetConfigHubInitialized = "HubInitialized"

	// FleetConfigCleanupFailed means that a failure occurred during cleanup.
	FleetConfigCleanupFailed = "CleanupFailed"
)

FleetConfig condition types

View Source
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

View Source
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"
)
View Source
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

View Source
const (
	// FleetConfigFinalizer is the finalizer for FleetConfig cleanup.
	FleetConfigFinalizer = "fleetconfig.open-cluster-management.io/cleanup"
)
View Source
const (
	// LabelManagedClusterType is the label key for the managed cluster type.
	LabelManagedClusterType = "fleetconfig.open-cluster-management.io/managedClusterType"
)

FleetConfig labels

View Source
const (
	ReconcileSuccess = "ReconcileSuccess"
)

FleetConfig condition reasons

Variables

View Source
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

func SetupFleetConfigWebhookWithManager(mgr ctrl.Manager) error

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

func (in *Condition) DeepCopy() *Condition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Condition) Equal

func (c Condition) Equal(other Condition) bool

Equal returns true if the condition is identical to the supplied condition, ignoring the LastTransitionTime.

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FleetConfigCustomDefaulter.

func (*FleetConfigCustomDefaulter) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FleetConfigCustomDefaulter) Default

Default implements webhook.CustomDefaulter so a webhook will be registered for the Kind FleetConfig.

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FleetConfigCustomValidator.

func (*FleetConfigCustomValidator) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FleetConfigCustomValidator) ValidateCreate

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*FleetConfigCustomValidator) ValidateDelete

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

func (in *Helm) DeepCopy() *Helm

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Helm.

func (*Helm) DeepCopyInto

func (in *Helm) DeepCopyInto(out *Helm)

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

func (in *Hub) DeepCopy() *Hub

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hub.

func (*Hub) DeepCopyInto

func (in *Hub) DeepCopyInto(out *Hub)

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

func (in *OCMSource) DeepCopy() *OCMSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCMSource.

func (*OCMSource) DeepCopyInto

func (in *OCMSource) DeepCopyInto(out *OCMSource)

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

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

func (in *Spoke) DeepCopy() *Spoke

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Spoke.

func (*Spoke) DeepCopyInto

func (in *Spoke) DeepCopyInto(out *Spoke)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Spoke) JoinType

func (s *Spoke) JoinType() string

JoinType returns a status condition type indicating that a particular Spoke cluster has joined the Hub.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL