v1alpha1

package
v0.20.6 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2024 License: Apache-2.0 Imports: 53 Imported by: 0

README

Create new webhooks

Install kubebuilder

make hack/tools/bin/kubebuilder

Add API to PROJECT https://github.com/aws/eks-anywhere/blob/main/PROJECT

run ./hack/kubebuilder.sh create api --group anywhere --version v1alpha1 --kind WhateverKind

Create new webhooks with kubebuilder

Since we use a non standard (according to kubebuilder) repo structure, kubebuilder commands won't work. For this purpose, we have a script that temporally changes our folder structure to one that kubebuilder understands and restores the original one after executing the kubebuilder command.

Example

./hack/kubebuilder.sh create webhook --group anywhere --version v1alpha1 --defaulting --programmatic-validation --kind WhateverKind

--defaulting creates mutation webhooks and --programmatic-validation creates validation webhooks.

Resources:

https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html

https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#request

Change webhook marker name to under anywhere.amazonaws.com

The default name in webhook marker is v<kind>.kb.io, we need to change it to <validation/mutation>.<kind>.anywhere.amazonaws.com

Generate manifests

run make release-manifests

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the anywhere v1alpha1 API group +kubebuilder:object:generate=true +groupName=anywhere.eks.amazonaws.com

Index

Constants

View Source
const (
	AWSIamConfigKind = "AWSIamConfig"

	DefaultAWSIamConfigPartition = "aws"
)
View Source
const (
	ClusterKind         = "Cluster"
	RegistryMirrorCAKey = "EKSA_REGISTRY_MIRROR_CA"
)

constants defined for cluster.go.

View Source
const (

	// ManagedByCLIAnnotation can be applied to an EKS-A Cluster to signal when the CLI is currently
	// performing an operation so the controller should not take any action. When marked for deletion,
	// the controller will remove the finalizer and let the cluster be deleted.
	ManagedByCLIAnnotation = "anywhere.eks.amazonaws.com/managed-by-cli"

	// ControlEndpointDefaultPort defaults cluster control plane endpoint port if not specified.
	ControlEndpointDefaultPort = "6443"

	// AllowDeleteWhenPausedAnnotation is an annotation applied to an EKS-A cluster that allows the deletion of the cluster
	// when paused.
	AllowDeleteWhenPausedAnnotation = "anywhere.eks.amazonaws.com/allow-delete-when-paused"
)
View Source
const (
	// DevBuildVersion is the version string for the dev build of EKS-A.
	DevBuildVersion = "v0.19.0-dev+latest"

	// MinEksAVersionWithEtcdURL is the version from which the etcd url will be set
	// for etcdadm to pull the etcd tarball if that binary isnt cached.
	MinEksAVersionWithEtcdURL = "v0.19.0"
)
View Source
const (
	// ReadyCondition reports a summary of other conditions, indicating an overall operational
	// state of the cluster: all control plane and worker nodes are the right version,
	// all nodes are ready, not including old nodes.
	ReadyCondition ConditionType = "Ready"

	// OutdatedInformationReason reports the system is waiting for stale cluster information to be refreshed.
	OutdatedInformationReason = "OutdatedInformation"

	// ControlPlaneReadyCondition reports the status on the control plane nodes, indicating all those control plane
	// nodes are the right version and are ready, not including the old nodes.
	ControlPlaneReadyCondition ConditionType = "ControlPlaneReady"

	// ControlPlaneInitializedCondition reports that the first control plane instance has been initialized
	// and so the control plane is available and an API server instance is ready for processing requests.
	ControlPlaneInitializedCondition ConditionType = "ControlPlaneInitialized"

	// ControlPlaneInitializationInProgressReason reports that the control plane initilization is in progress.
	ControlPlaneInitializationInProgressReason = "ControlPlaneInitializationInProgress"

	// ControlPlaneNotReadyReason reports that the control plane is not ready.
	ControlPlaneNotReadyReason = "ControlPlaneNotReady"

	// ControlPlaneNotInitializedReason reports that the control plane is not initialized.
	ControlPlaneNotInitializedReason = "ControlPlaneNotInitialized"

	// WorkersReadyCondition reports the status on the worker nodes, indicating all those worker nodes
	// are the right version and are ready, not including the old nodes.
	WorkersReadyCondition ConditionType = "WorkersReady"
)

Conditions, condition reasons, and messages for the Cluster object.

View Source
const (
	// NodesNotReadyReason reports the Cluster has some nodes that are not ready.
	NodesNotReadyReason = "NodesNotReady"

	// ControlPlaneComponentsUnhealthyReason reports that the Cluster control plane components are unhealthy.
	ControlPlaneComponentsUnhealthyReason = "ControlPlaneComponentsUnhealthy"

	// ScalingUpReason reports the Cluster is increasing the number of replicas for a set of nodes.
	ScalingUpReason = "ScalingUp"

	// ScalingDownReason reports the Cluster is decreasing the number of replicas for a set of nodes.
	ScalingDownReason = "ScalingDown"

	// RollingUpgradeInProgress reports the Cluster is executing a rolling upgrading to align the nodes to
	// a new desired machine spec.
	RollingUpgradeInProgress = "RollingUpgradeInProgress"

	// InPlaceUpgradeInProgress reports the Cluster is executing a in place upgrade to align the nodes to
	// a new desired machine specs.
	InPlaceUpgradeInProgress = "InPlaceUpgradeInProgress"

	// ExternalEtcdNotAvailable reports the Cluster status is waiting for Etcd to be available.
	ExternalEtcdNotAvailable = "ExternalEtcdNotAvailable"

	// AutoscalerConstraintNotMetReason reports the Cluster status is waiting for autoscaler constraint to be met.
	AutoscalerConstraintNotMetReason = "AutoscalerConstraintNotMet"

	// KubeadmControlPlaneNotReadyReason reports that the kubeadm control plane is not ready.
	KubeadmControlPlaneNotReadyReason = "KubeadmControlPlaneNotReady"

	// MachineDeploymentNotReadyReason reports that the machine deployment is not ready.
	MachineDeploymentNotReadyReason = "MachineDeploymentNotReady"
)
View Source
const (
	// DefaultCNIConfiguredCondition reports the default cni cluster has been configured successfully.
	DefaultCNIConfiguredCondition ConditionType = "DefaultCNIConfigured"

	// DefaultCNIUpgradeInProgressReason used when cluster is upgrading the default CNI.
	DefaultCNIUpgradeInProgressReason = "DefaultCNIUpgradeInProgressReason"

	// SkipUpgradesForDefaultCNIConfiguredReason used to indicate the custer has been configured to skip
	// upgrades for the default cni. The default cni may still be installed, for example to successfully
	// create a cluster.
	SkipUpgradesForDefaultCNIConfiguredReason = "SkipUpgradesForDefaultCNIConfigured"
)
View Source
const (
	FluxConfigKind   = "FluxConfig"
	RsaAlgorithm     = "rsa"
	EcdsaAlgorithm   = "ecdsa"
	Ed25519Algorithm = "ed25519"
)
View Source
const (
	GitOpsConfigKind     = "GitOpsConfig"
	FluxDefaultNamespace = "flux-system"
	FluxDefaultBranch    = "main"
)
View Source
const (
	// NutanixMachineConfigKind is the kind for a NutanixMachineConfig.
	NutanixMachineConfigKind = "NutanixMachineConfig"

	// NutanixIdentifierUUID is a resource identifier identifying the object by UUID.
	NutanixIdentifierUUID NutanixIdentifierType = "uuid"
	// NutanixIdentifierName is a resource identifier identifying the object by Name.
	NutanixIdentifierName NutanixIdentifierType = "name"

	// DefaultNutanixMachineConfigUser is the default username we set in machine config.
	DefaultNutanixMachineConfigUser string = "eksa"
)
View Source
const (
	SnowIdentityKind    = "Secret"
	SnowCredentialsKey  = "credentials"
	SnowCertificatesKey = "ca-bundle"
)
View Source
const (
	SnowMachineConfigKind                   = "SnowMachineConfig"
	DefaultSnowSSHKeyName                   = ""
	DefaultSnowInstanceType                 = "sbe-c.large"
	DefaultSnowPhysicalNetworkConnectorType = SFPPlus
	DefaultOSFamily                         = Ubuntu
	MinimumContainerVolumeSizeUbuntu        = 8
	MinimumContainerVolumeSizeBottlerocket  = 25
	MinimumNonRootVolumeSize                = 8
)
View Source
const (
	VSphereMachineConfigKind = "VSphereMachineConfig"
	DefaultVSphereDiskGiB    = 25
	DefaultVSphereNumCPUs    = 2
	DefaultVSphereMemoryMiB  = 8192
	DefaultVSphereOSFamily   = Bottlerocket
)
View Source
const AWSDatacenterKind = "AWSDatacenterConfig"
View Source
const CloudStackDatacenterKind = "CloudStackDatacenterConfig"
View Source
const CloudStackMachineConfigKind = "CloudStackMachineConfig"

CloudStackMachineConfigKind is the kind value for a CloudStackMachineConfig.

View Source
const ControlPlaneUpgradeKind = "ControlPlaneUpgrade"

ControlPlaneUpgradeKind stores the kind for ControlPlaneUpgrade.

View Source
const DefaultCloudStackAZPrefix = "default-az"
View Source
const DefaultCloudStackUser = "capc"

DefaultCloudStackUser is the default CloudStackMachingConfig username.

View Source
const DockerDatacenterKind = "DockerDatacenterConfig"
View Source
const MachineDeploymentUpgradeKind = "MachineDeploymentUpgrade"

MachineDeploymentUpgradeKind stores the Kind for MachineDeploymentUpgrade.

View Source
const NutanixDatacenterKind = "NutanixDatacenterConfig"
View Source
const OIDCConfigKind = "OIDCConfig"
View Source
const SnowDatacenterKind = "SnowDatacenterConfig"
View Source
const (
	// SnowIPPoolKind is the object kind name for SnowIPPool.
	SnowIPPoolKind = "SnowIPPool"
)
View Source
const SupportedMinorVersionIncrement = 1

SupportedMinorVersionIncrement represents the minor version skew for kubernetes version upgrades.

View Source
const TinkerbellDatacenterKind = "TinkerbellDatacenterConfig"
View Source
const TinkerbellMachineConfigKind = "TinkerbellMachineConfig"
View Source
const TinkerbellTemplateConfigKind = "TinkerbellTemplateConfig"
View Source
const VSphereDatacenterKind = "VSphereDatacenterConfig"

Variables

View Source
var (
	// DefaultKMSCacheSize is the default cache size for KMS provider (1000).
	DefaultKMSCacheSize = ptr.Int32(1000)
	// DefaultKMSTimeout is the default timeout for KMS provider (3s).
	DefaultKMSTimeout = metav1.Duration{Duration: time.Second * 3}
)
View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "anywhere.eks.amazonaws.com", 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 CNIPluginSame added in v0.8.0

func CNIPluginSame(n ClusterNetwork, o ClusterNetwork) bool

func GetCloudStackManagementAPIEndpointHostname added in v0.15.0

func GetCloudStackManagementAPIEndpointHostname(az CloudStackAvailabilityZone) (string, error)

GetCloudStackManagementAPIEndpointHostname parses the CloudStackAvailabilityZone's ManagementApiEndpoint URL and returns the hostname.

func GetControlPlaneHostPort added in v0.16.0

func GetControlPlaneHostPort(pHost string, defaultPort string) (string, string, error)

GetControlPlaneHostPort retrieves the ControlPlaneConfiguration host and port split defined in the cluster.Spec.

func KubeVersionToSemver added in v0.16.0

func KubeVersionToSemver(kubeVersion KubernetesVersion) (*semver.Version, error)

KubeVersionToSemver converts kube version to semver for comparisons.

func MapEqual added in v0.13.0

func MapEqual(s1, s2 map[string]string) bool

MapEqual compares two maps to check whether or not they are equal.

func OCINamespacesSliceEqual added in v0.13.0

func OCINamespacesSliceEqual(a, b []OCINamespace) bool

OCINamespacesSliceEqual is used to check equality of the OCINamespaces fields of two RegistryMirrorConfiguration.

func ParseClusterConfig

func ParseClusterConfig(fileName string, clusterConfig KindAccessor) error

ParseClusterConfig unmarshalls an API object implementing the KindAccessor interface from a multiobject yaml file in disk. It doesn't set defaults nor validates the object.

func ParseClusterConfigFromContent added in v0.7.1

func ParseClusterConfigFromContent(content []byte, clusterConfig KindAccessor) error

ParseClusterConfigFromContent unmarshalls an API object implementing the KindAccessor interface from a multiobject yaml content. It doesn't set defaults nor validates the object.

func RefSliceEqual

func RefSliceEqual(a, b []Ref) bool

func RequiredClaimsSliceEqual

func RequiredClaimsSliceEqual(a, b []OIDCConfigRequiredClaim) bool

func SliceEqual

func SliceEqual(a, b []string) bool

func SnowIPPoolsSliceEqual added in v0.14.0

func SnowIPPoolsSliceEqual(a, b []IPPool) bool

SnowIPPoolsSliceEqual compares and returns whether two snow IPPool objects are equal.

func TaintsSliceEqual added in v0.6.1

func TaintsSliceEqual(s1, s2 []corev1.Taint) bool

func UsersSliceEqual added in v0.8.0

func UsersSliceEqual(a, b []UserConfiguration) bool

func ValidateClusterConfigContent

func ValidateClusterConfigContent(clusterConfig *Cluster) error

ValidateClusterConfigContent validates a Cluster object without modifying it Some of the validations are a bit heavy and need a network connection.

func ValidateClusterName added in v0.7.0

func ValidateClusterName(clusterName string) error

func ValidateClusterNameLength added in v0.7.0

func ValidateClusterNameLength(clusterName string) error

func ValidateEksaVersionSkew added in v0.17.0

func ValidateEksaVersionSkew(new, old *Cluster) field.ErrorList

ValidateEksaVersionSkew ensures that upgrades are sequential by CLI minor versions.

func ValidateEtcdEncryptionConfig added in v0.18.0

func ValidateEtcdEncryptionConfig(config *[]EtcdEncryption) error

ValidateEtcdEncryptionConfig validates the etcd encryption configuration.

func ValidateKubernetesVersionSkew added in v0.17.0

func ValidateKubernetesVersionSkew(new, old *Cluster) field.ErrorList

ValidateKubernetesVersionSkew validates Kubernetes version skew between upgrades.

func ValidateVersionSkew added in v0.17.0

func ValidateVersionSkew(oldVersion, newVersion *version.Version) error

ValidateVersionSkew validates Kubernetes version skew between valid non-nil versions.

func ValidateWorkerKubernetesVersionSkew added in v0.17.0

func ValidateWorkerKubernetesVersionSkew(new, old *Cluster) field.ErrorList

ValidateWorkerKubernetesVersionSkew validates worker node group Kubernetes version skew between upgrades.

func WorkerNodeGroupConfigurationKubeVersionUnchanged added in v0.17.0

func WorkerNodeGroupConfigurationKubeVersionUnchanged(o, n *WorkerNodeGroupConfiguration, oldCluster, newCluster *Cluster) bool

WorkerNodeGroupConfigurationKubeVersionUnchanged checks if a worker node group's k8s version has not changed. The ClusterVersions are the top level kubernetes version of a cluster.

func WorkerNodeGroupConfigurationsSliceEqual added in v0.6.0

func WorkerNodeGroupConfigurationsSliceEqual(a, b []WorkerNodeGroupConfiguration) bool

Types

type AWSDatacenterConfig

type AWSDatacenterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AWSDatacenterConfigSpec   `json:"spec,omitempty"`
	Status AWSDatacenterConfigStatus `json:"status,omitempty"`
}

AWSDatacenterConfig is the Schema for the AWSDatacenterConfigs API.

func GetAWSDatacenterConfig

func GetAWSDatacenterConfig(fileName string) (*AWSDatacenterConfig, error)

func (*AWSDatacenterConfig) ClearPauseAnnotation

func (a *AWSDatacenterConfig) ClearPauseAnnotation()

func (*AWSDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (a *AWSDatacenterConfig) ConvertConfigToConfigGenerateStruct() *AWSDatacenterConfigGenerate

func (*AWSDatacenterConfig) DeepCopy

func (in *AWSDatacenterConfig) DeepCopy() *AWSDatacenterConfig

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

func (*AWSDatacenterConfig) DeepCopyInto

func (in *AWSDatacenterConfig) DeepCopyInto(out *AWSDatacenterConfig)

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

func (*AWSDatacenterConfig) DeepCopyObject

func (in *AWSDatacenterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*AWSDatacenterConfig) ExpectedKind

func (a *AWSDatacenterConfig) ExpectedKind() string

func (*AWSDatacenterConfig) Kind

func (a *AWSDatacenterConfig) Kind() string

func (*AWSDatacenterConfig) PauseReconcile

func (a *AWSDatacenterConfig) PauseReconcile()

type AWSDatacenterConfigGenerate

type AWSDatacenterConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec AWSDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as AWSDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewAWSDatacenterConfigGenerate

func NewAWSDatacenterConfigGenerate(clusterName string) *AWSDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*AWSDatacenterConfigGenerate) APIVersion

func (c *AWSDatacenterConfigGenerate) APIVersion() string

func (*AWSDatacenterConfigGenerate) Kind

func (*AWSDatacenterConfigGenerate) Name

type AWSDatacenterConfigList

type AWSDatacenterConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AWSDatacenterConfig `json:"items"`
}

AWSDatacenterConfigList contains a list of AWSDatacenterConfig.

func (*AWSDatacenterConfigList) DeepCopy

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

func (*AWSDatacenterConfigList) DeepCopyInto

func (in *AWSDatacenterConfigList) DeepCopyInto(out *AWSDatacenterConfigList)

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

func (*AWSDatacenterConfigList) DeepCopyObject

func (in *AWSDatacenterConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AWSDatacenterConfigSpec

type AWSDatacenterConfigSpec struct {
	Region string `json:"region"`
	AmiID  string `json:"amiID"`
}

AWSDatacenterConfigSpec defines the desired state of AWSDatacenterConfig.

func (*AWSDatacenterConfigSpec) DeepCopy

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

func (*AWSDatacenterConfigSpec) DeepCopyInto

func (in *AWSDatacenterConfigSpec) DeepCopyInto(out *AWSDatacenterConfigSpec)

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

type AWSDatacenterConfigStatus

type AWSDatacenterConfigStatus struct {
}

AWSDatacenterConfigStatus defines the observed state of AWSDatacenterConfig.

func (*AWSDatacenterConfigStatus) DeepCopy

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

func (*AWSDatacenterConfigStatus) DeepCopyInto

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

type AWSIamConfig added in v0.6.0

type AWSIamConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AWSIamConfigSpec   `json:"spec,omitempty"`
	Status AWSIamConfigStatus `json:"status,omitempty"`
}

AWSIamConfig is the Schema for the awsiamconfigs API.

func GetAndValidateAWSIamConfig added in v0.6.0

func GetAndValidateAWSIamConfig(fileName string, refName string, clusterConfig *Cluster) (*AWSIamConfig, error)

func (*AWSIamConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *AWSIamConfig) ConvertConfigToConfigGenerateStruct() *AWSIamConfigGenerate

func (*AWSIamConfig) DeepCopy added in v0.6.0

func (in *AWSIamConfig) DeepCopy() *AWSIamConfig

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

func (*AWSIamConfig) DeepCopyInto added in v0.6.0

func (in *AWSIamConfig) DeepCopyInto(out *AWSIamConfig)

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

func (*AWSIamConfig) DeepCopyObject added in v0.6.0

func (in *AWSIamConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*AWSIamConfig) Default added in v0.11.0

func (r *AWSIamConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*AWSIamConfig) ExpectedKind added in v0.6.0

func (c *AWSIamConfig) ExpectedKind() string

func (*AWSIamConfig) Kind added in v0.6.0

func (c *AWSIamConfig) Kind() string

func (*AWSIamConfig) SetDefaults added in v0.8.0

func (c *AWSIamConfig) SetDefaults()

func (*AWSIamConfig) SetupWebhookWithManager added in v0.6.0

func (r *AWSIamConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*AWSIamConfig) Validate added in v0.8.0

func (c *AWSIamConfig) Validate() error

func (*AWSIamConfig) ValidateCreate added in v0.6.0

func (r *AWSIamConfig) ValidateCreate() (admission.Warnings, error)

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

func (*AWSIamConfig) ValidateDelete added in v0.6.0

func (r *AWSIamConfig) ValidateDelete() (admission.Warnings, error)

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

func (*AWSIamConfig) ValidateUpdate added in v0.6.0

func (r *AWSIamConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type AWSIamConfigGenerate added in v0.6.0

type AWSIamConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec AWSIamConfigSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as AWSIamConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.

type AWSIamConfigList added in v0.6.0

type AWSIamConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AWSIamConfig `json:"items"`
}

AWSIamConfigList contains a list of AWSIamConfig.

func (*AWSIamConfigList) DeepCopy added in v0.6.0

func (in *AWSIamConfigList) DeepCopy() *AWSIamConfigList

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

func (*AWSIamConfigList) DeepCopyInto added in v0.6.0

func (in *AWSIamConfigList) DeepCopyInto(out *AWSIamConfigList)

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

func (*AWSIamConfigList) DeepCopyObject added in v0.6.0

func (in *AWSIamConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AWSIamConfigSpec added in v0.6.0

type AWSIamConfigSpec struct {
	// AWSRegion defines a region in an AWS partition
	AWSRegion string `json:"awsRegion"`
	// BackendMode defines multiple backends for aws-iam-authenticator server
	// The server searches for mappings in order
	BackendMode []string `json:"backendMode"`
	// +kubebuilder:validation:Optional
	MapRoles []MapRoles `json:"mapRoles,omitempty"`
	// +kubebuilder:validation:Optional
	MapUsers []MapUsers `json:"mapUsers,omitempty"`
	// Partition defines the AWS partition on which the IAM roles exist
	// +kubebuilder:default:=aws
	// +kubebuilder:validation:Optional
	Partition string `json:"partition,omitempty"`
}

AWSIamConfigSpec defines the desired state of AWSIamConfig.

func (*AWSIamConfigSpec) DeepCopy added in v0.6.0

func (in *AWSIamConfigSpec) DeepCopy() *AWSIamConfigSpec

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

func (*AWSIamConfigSpec) DeepCopyInto added in v0.6.0

func (in *AWSIamConfigSpec) DeepCopyInto(out *AWSIamConfigSpec)

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

func (*AWSIamConfigSpec) Equal added in v0.6.0

func (e *AWSIamConfigSpec) Equal(n *AWSIamConfigSpec) bool

type AWSIamConfigStatus added in v0.6.0

type AWSIamConfigStatus struct{}

AWSIamConfigStatus defines the observed state of AWSIamConfig.

func (*AWSIamConfigStatus) DeepCopy added in v0.6.0

func (in *AWSIamConfigStatus) DeepCopy() *AWSIamConfigStatus

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

func (*AWSIamConfigStatus) DeepCopyInto added in v0.6.0

func (in *AWSIamConfigStatus) DeepCopyInto(out *AWSIamConfigStatus)

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

type ActionOpt added in v0.8.0

type ActionOpt func(action *[]tinkerbell.Action)

+kubebuilder:object:generate=false

func GetDefaultActionsFromBundle added in v0.9.0

func GetDefaultActionsFromBundle(clusterSpec *Cluster, b v1alpha1.VersionsBundle, osImageOverride, tinkerbellLocalIP, tinkerbellLBIP string, osFamily OSFamily) []ActionOpt

GetDefaultActionsFromBundle constructs a set of default actions for the given osFamily using the bundle as the source of action images.

type AutoScalingConfiguration added in v0.12.0

type AutoScalingConfiguration struct {
	// MinCount defines the minimum number of nodes for the associated resource group.
	// +optional
	MinCount int `json:"minCount,omitempty"`

	// MaxCount defines the maximum number of nodes for the associated resource group.
	// +optional
	MaxCount int `json:"maxCount,omitempty"`
}

AutoScalingConfiguration defines the configuration for the node autoscaling feature.

func (*AutoScalingConfiguration) DeepCopy added in v0.12.0

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

func (*AutoScalingConfiguration) DeepCopyInto added in v0.12.0

func (in *AutoScalingConfiguration) DeepCopyInto(out *AutoScalingConfiguration)

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

func (*AutoScalingConfiguration) Equal added in v0.17.0

Equal compares two AutoScalingConfigurations.

type BottlerocketConfiguration added in v0.15.0

type BottlerocketConfiguration struct {
	// Kubernetes defines the Kubernetes settings on the host OS.
	// +optional
	Kubernetes *v1beta1.BottlerocketKubernetesSettings `json:"kubernetes,omitempty"`

	// Kernel defines the kernel settings for bottlerocket.
	Kernel *v1beta1.BottlerocketKernelSettings `json:"kernel,omitempty"`

	// Boot defines the boot settings for bottlerocket.
	Boot *v1beta1.BottlerocketBootSettings `json:"boot,omitempty"`
}

BottlerocketConfiguration defines the Bottlerocket configuration on the host OS. These settings only take effect when the `osFamily` is bottlerocket.

func (*BottlerocketConfiguration) DeepCopy added in v0.15.0

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

func (*BottlerocketConfiguration) DeepCopyInto added in v0.15.0

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

type BundlesRef added in v0.9.2

type BundlesRef struct {
	// APIVersion refers to the Bundles APIVersion
	APIVersion string `json:"apiVersion"`
	// Name refers to the name of the Bundles object in the cluster
	Name string `json:"name"`
	// Namespace refers to the Bundles's namespace
	Namespace string `json:"namespace"`
}

func (*BundlesRef) DeepCopy added in v0.9.2

func (in *BundlesRef) DeepCopy() *BundlesRef

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

func (*BundlesRef) DeepCopyInto added in v0.9.2

func (in *BundlesRef) DeepCopyInto(out *BundlesRef)

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

func (*BundlesRef) Equal added in v0.9.2

func (b *BundlesRef) Equal(o *BundlesRef) bool

type CNI

type CNI string
const (
	// Cilium is the EKS-A Cilium.
	Cilium CNI = "cilium"

	// CiliumEnterprise is Isovalents Cilium.
	CiliumEnterprise CNI = "cilium-enterprise"

	// Kindnetd is the CNI shipped with KinD.
	Kindnetd CNI = "kindnetd"
)

type CNIConfig added in v0.8.0

type CNIConfig struct {
	Cilium   *CiliumConfig   `json:"cilium,omitempty"`
	Kindnetd *KindnetdConfig `json:"kindnetd,omitempty"`
}

func (*CNIConfig) DeepCopy added in v0.8.0

func (in *CNIConfig) DeepCopy() *CNIConfig

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

func (*CNIConfig) DeepCopyInto added in v0.8.0

func (in *CNIConfig) DeepCopyInto(out *CNIConfig)

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

func (*CNIConfig) Equal added in v0.8.0

func (n *CNIConfig) Equal(o *CNIConfig) bool

func (*CNIConfig) IsManaged added in v0.18.0

func (n *CNIConfig) IsManaged() bool

IsManaged indicates if EKS-A is responsible for the CNI installation.

type CiliumConfig added in v0.8.0

type CiliumConfig struct {
	// PolicyEnforcementMode determines communication allowed between pods. Accepted values are default, always, never.
	PolicyEnforcementMode CiliumPolicyEnforcementMode `json:"policyEnforcementMode,omitempty"`

	// EgressMasquaradeInterfaces determines which network interfaces are used for masquerading. Accepted values are a valid interface name or interface prefix.
	// +optional
	EgressMasqueradeInterfaces string `json:"egressMasqueradeInterfaces,omitempty"`

	// SkipUpgrade indicicates that Cilium maintenance should be skipped during upgrades. This can
	// be used when operators wish to self manage the Cilium installation.
	// +optional
	SkipUpgrade *bool `json:"skipUpgrade,omitempty"`

	// RoutingMode indicates the routing tunnel mode to use for Cilium. Accepted values are overlay (geneve tunnel with overlay)
	// or direct (tunneling disabled with direct routing)
	// Defaults to overlay.
	// +optional
	RoutingMode CiliumRoutingMode `json:"routingMode,omitempty"`

	// IPv4NativeRoutingCIDR specifies the CIDR to use when RoutingMode is set to direct.
	// When specified, Cilium assumes networking for this CIDR is preconfigured and
	// hands traffic destined for that range to the Linux network stack without
	// applying any SNAT.
	// If this is not set autoDirectNodeRoutes will be set to true
	// +optional
	IPv4NativeRoutingCIDR string `json:"ipv4NativeRoutingCIDR,omitempty"`

	// IPv6NativeRoutingCIDR specifies the IPv6 CIDR to use when RoutingMode is set to direct.
	// When specified, Cilium assumes networking for this CIDR is preconfigured and
	// hands traffic destined for that range to the Linux network stack without
	// applying any SNAT.
	// If this is not set autoDirectNodeRoutes will be set to true
	// +optional
	IPv6NativeRoutingCIDR string `json:"ipv6NativeRoutingCIDR,omitempty"`
}

CiliumConfig contains configuration specific to the Cilium CNI.

func (*CiliumConfig) DeepCopy added in v0.8.0

func (in *CiliumConfig) DeepCopy() *CiliumConfig

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

func (*CiliumConfig) DeepCopyInto added in v0.8.0

func (in *CiliumConfig) DeepCopyInto(out *CiliumConfig)

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

func (*CiliumConfig) Equal added in v0.8.0

func (n *CiliumConfig) Equal(o *CiliumConfig) bool

func (*CiliumConfig) IsManaged added in v0.15.0

func (n *CiliumConfig) IsManaged() bool

IsManaged returns true if SkipUpgrade is nil or false indicating EKS-A is responsible for the Cilium installation.

type CiliumPolicyEnforcementMode added in v0.8.0

type CiliumPolicyEnforcementMode string
const (
	CiliumPolicyModeDefault CiliumPolicyEnforcementMode = "default"
	CiliumPolicyModeAlways  CiliumPolicyEnforcementMode = "always"
	CiliumPolicyModeNever   CiliumPolicyEnforcementMode = "never"
)

Policy enforcement modes for Cilium.

type CiliumRoutingMode added in v0.19.0

type CiliumRoutingMode string
const (
	CiliumRoutingModeOverlay CiliumRoutingMode = "overlay"
	CiliumRoutingModeDirect  CiliumRoutingMode = "direct"
)

Routing modes for Cilium.

type CloneMode added in v0.15.0

type CloneMode string

CloneMode describes the clone mode to be used when cloning vSphere VMs.

const (
	// FullClone indicates a VM will have no relationship to the source of the
	// clone operation once the operation is complete. This is the safest clone
	// mode, but it is not the fastest.
	FullClone CloneMode = "fullClone"

	// LinkedClone means resulting VMs will be dependent upon the snapshot of
	// the source VM/template from which the VM was cloned. This is the fastest
	// clone mode, but it also prevents expanding a VMs disk beyond the size of
	// the source VM/template.
	LinkedClone CloneMode = "linkedClone"
)

type CloudStackAvailabilityZone added in v0.11.0

type CloudStackAvailabilityZone struct {
	// Name is used as a unique identifier for each availability zone
	Name string `json:"name"`
	// CredentialRef is used to reference a secret in the eksa-system namespace
	CredentialsRef string `json:"credentialsRef"`
	// Zone represents the properties of the CloudStack zone in which clusters should be created, like the network.
	Zone CloudStackZone `json:"zone"`
	// Domain contains a grouping of accounts. Domains usually contain multiple accounts that have some logical relationship to each other and a set of delegated administrators with some authority over the domain and its subdomains
	// This field is considered as a fully qualified domain name which is the same as the domain path without "ROOT/" prefix. For example, if "foo" is specified then a domain with "ROOT/foo" domain path is picked.
	// The value "ROOT" is a special case that points to "the" ROOT domain of the CloudStack. That is, a domain with a path "ROOT/ROOT" is not allowed.
	Domain string `json:"domain"`
	// Account typically represents a customer of the service provider or a department in a large organization. Multiple users can exist in an account, and all CloudStack resources belong to an account. Accounts have users and users have credentials to operate on resources within that account. If an account name is provided, a domain must also be provided.
	Account string `json:"account,omitempty"`
	// CloudStack Management API endpoint's IP. It is added to VM's noproxy list
	ManagementApiEndpoint string `json:"managementApiEndpoint"`
}

CloudStackAvailabilityZone maps to a CAPI failure domain to distribute machines across Cloudstack infrastructure.

func (*CloudStackAvailabilityZone) DeepCopy added in v0.11.0

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

func (*CloudStackAvailabilityZone) DeepCopyInto added in v0.11.0

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

func (*CloudStackAvailabilityZone) Equal added in v0.11.0

type CloudStackDatacenterConfig added in v0.8.0

type CloudStackDatacenterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CloudStackDatacenterConfigSpec   `json:"spec,omitempty"`
	Status CloudStackDatacenterConfigStatus `json:"status,omitempty"`
}

CloudStackDatacenterConfig is the Schema for the cloudstackdatacenterconfigs API.

func GetCloudStackDatacenterConfig added in v0.8.0

func GetCloudStackDatacenterConfig(fileName string) (*CloudStackDatacenterConfig, error)

func (*CloudStackDatacenterConfig) ClearPauseAnnotation added in v0.8.0

func (v *CloudStackDatacenterConfig) ClearPauseAnnotation()

func (*CloudStackDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (v *CloudStackDatacenterConfig) ConvertConfigToConfigGenerateStruct() *CloudStackDatacenterConfigGenerate

func (*CloudStackDatacenterConfig) DeepCopy added in v0.8.0

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

func (*CloudStackDatacenterConfig) DeepCopyInto added in v0.8.0

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

func (*CloudStackDatacenterConfig) DeepCopyObject added in v0.8.0

func (in *CloudStackDatacenterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CloudStackDatacenterConfig) Default added in v0.15.0

func (r *CloudStackDatacenterConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*CloudStackDatacenterConfig) ExpectedKind added in v0.8.0

func (v *CloudStackDatacenterConfig) ExpectedKind() string

func (*CloudStackDatacenterConfig) IsReconcilePaused added in v0.8.0

func (v *CloudStackDatacenterConfig) IsReconcilePaused() bool

func (*CloudStackDatacenterConfig) Kind added in v0.8.0

func (*CloudStackDatacenterConfig) Marshallable added in v0.8.0

func (v *CloudStackDatacenterConfig) Marshallable() Marshallable

func (*CloudStackDatacenterConfig) PauseReconcile added in v0.8.0

func (v *CloudStackDatacenterConfig) PauseReconcile()

func (*CloudStackDatacenterConfig) SetDefaults added in v0.11.0

func (v *CloudStackDatacenterConfig) SetDefaults()

func (*CloudStackDatacenterConfig) SetupWebhookWithManager added in v0.8.0

func (r *CloudStackDatacenterConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*CloudStackDatacenterConfig) Validate added in v0.9.0

func (v *CloudStackDatacenterConfig) Validate() error

func (*CloudStackDatacenterConfig) ValidateCreate added in v0.8.0

func (r *CloudStackDatacenterConfig) ValidateCreate() (admission.Warnings, error)

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

func (*CloudStackDatacenterConfig) ValidateDelete added in v0.8.0

func (r *CloudStackDatacenterConfig) ValidateDelete() (admission.Warnings, error)

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

func (*CloudStackDatacenterConfig) ValidateUpdate added in v0.8.0

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

type CloudStackDatacenterConfigGenerate added in v0.8.0

type CloudStackDatacenterConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec CloudStackDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as CloudStackDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewCloudStackDatacenterConfigGenerate added in v0.8.0

func NewCloudStackDatacenterConfigGenerate(clusterName string) *CloudStackDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*CloudStackDatacenterConfigGenerate) APIVersion added in v0.8.0

func (*CloudStackDatacenterConfigGenerate) Kind added in v0.8.0

func (*CloudStackDatacenterConfigGenerate) Name added in v0.8.0

type CloudStackDatacenterConfigList added in v0.8.0

type CloudStackDatacenterConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CloudStackDatacenterConfig `json:"items"`
}

CloudStackDatacenterConfigList contains a list of CloudStackDatacenterConfig.

func (*CloudStackDatacenterConfigList) DeepCopy added in v0.8.0

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

func (*CloudStackDatacenterConfigList) DeepCopyInto added in v0.8.0

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

func (*CloudStackDatacenterConfigList) DeepCopyObject added in v0.8.0

func (in *CloudStackDatacenterConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CloudStackDatacenterConfigSpec added in v0.8.0

type CloudStackDatacenterConfigSpec struct {

	// Domain contains a grouping of accounts. Domains usually contain multiple accounts that have some logical relationship to each other and a set of delegated administrators with some authority over the domain and its subdomains
	// This field is considered as a fully qualified domain name which is the same as the domain path without "ROOT/" prefix. For example, if "foo" is specified then a domain with "ROOT/foo" domain path is picked.
	// The value "ROOT" is a special case that points to "the" ROOT domain of the CloudStack. That is, a domain with a path "ROOT/ROOT" is not allowed.
	// +optional
	// Deprecated: Please use AvailabilityZones instead
	Domain string `json:"domain,omitempty"`
	// Zones is a list of one or more zones that are managed by a single CloudStack management endpoint.
	// +optional
	// Deprecated: Please use AvailabilityZones instead
	Zones []CloudStackZone `json:"zones,omitempty"`
	// Account typically represents a customer of the service provider or a department in a large organization. Multiple users can exist in an account, and all CloudStack resources belong to an account. Accounts have users and users have credentials to operate on resources within that account. If an account name is provided, a domain must also be provided.
	// +optional
	// Deprecated: Please use AvailabilityZones instead
	Account string `json:"account,omitempty"`
	// CloudStack Management API endpoint's IP. It is added to VM's noproxy list
	// +optional
	// Deprecated: Please use AvailabilityZones instead
	ManagementApiEndpoint string `json:"managementApiEndpoint,omitempty"`
	// AvailabilityZones list of different partitions to distribute VMs across - corresponds to a list of CAPI failure domains
	AvailabilityZones []CloudStackAvailabilityZone `json:"availabilityZones,omitempty"`
}

CloudStackDatacenterConfigSpec defines the desired state of CloudStackDatacenterConfig.

func (*CloudStackDatacenterConfigSpec) DeepCopy added in v0.8.0

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

func (*CloudStackDatacenterConfigSpec) DeepCopyInto added in v0.8.0

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

func (*CloudStackDatacenterConfigSpec) Equal added in v0.9.0

type CloudStackDatacenterConfigStatus added in v0.8.0

type CloudStackDatacenterConfigStatus struct {
	// SpecValid is set to true if cloudstackdatacenterconfig is validated.
	SpecValid bool `json:"specValid,omitempty"`

	// ObservedGeneration is the latest generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// FailureMessage indicates that there is a fatal problem reconciling the
	// state, and will be set to a descriptive error message.
	FailureMessage *string `json:"failureMessage,omitempty"`
}

CloudStackDatacenterConfigStatus defines the observed state of CloudStackDatacenterConfig.

func (*CloudStackDatacenterConfigStatus) DeepCopy added in v0.8.0

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

func (*CloudStackDatacenterConfigStatus) DeepCopyInto added in v0.8.0

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

type CloudStackMachineConfig added in v0.8.0

type CloudStackMachineConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CloudStackMachineConfigSpec   `json:"spec,omitempty"`
	Status CloudStackMachineConfigStatus `json:"status,omitempty"`
}

CloudStackMachineConfig is the Schema for the cloudstackmachineconfigs API.

func (*CloudStackMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (c *CloudStackMachineConfig) ConvertConfigToConfigGenerateStruct() *CloudStackMachineConfigGenerate

func (*CloudStackMachineConfig) DeepCopy added in v0.8.0

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

func (*CloudStackMachineConfig) DeepCopyInto added in v0.8.0

func (in *CloudStackMachineConfig) DeepCopyInto(out *CloudStackMachineConfig)

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

func (*CloudStackMachineConfig) DeepCopyObject added in v0.8.0

func (in *CloudStackMachineConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CloudStackMachineConfig) GetName added in v0.8.0

func (c *CloudStackMachineConfig) GetName() string

func (*CloudStackMachineConfig) GetNamespace added in v0.8.0

func (c *CloudStackMachineConfig) GetNamespace() string

func (*CloudStackMachineConfig) IsControlPlane added in v0.8.0

func (c *CloudStackMachineConfig) IsControlPlane() bool

func (*CloudStackMachineConfig) IsEtcd added in v0.8.0

func (c *CloudStackMachineConfig) IsEtcd() bool

func (*CloudStackMachineConfig) IsManagement added in v0.8.0

func (c *CloudStackMachineConfig) IsManagement() bool

func (*CloudStackMachineConfig) IsReconcilePaused added in v0.8.0

func (c *CloudStackMachineConfig) IsReconcilePaused() bool

func (*CloudStackMachineConfig) Marshallable added in v0.8.0

func (c *CloudStackMachineConfig) Marshallable() Marshallable

func (*CloudStackMachineConfig) OSFamily added in v0.8.0

func (c *CloudStackMachineConfig) OSFamily() OSFamily

func (*CloudStackMachineConfig) PauseReconcile added in v0.8.0

func (c *CloudStackMachineConfig) PauseReconcile()

func (*CloudStackMachineConfig) SetControlPlane added in v0.8.0

func (c *CloudStackMachineConfig) SetControlPlane()

func (*CloudStackMachineConfig) SetEtcd added in v0.8.0

func (c *CloudStackMachineConfig) SetEtcd()

func (*CloudStackMachineConfig) SetManagement added in v0.8.0

func (c *CloudStackMachineConfig) SetManagement(clusterName string)

func (*CloudStackMachineConfig) SetUserDefaults added in v0.16.0

func (c *CloudStackMachineConfig) SetUserDefaults()

SetUserDefaults initializes Spec.Users for the CloudStackMachineConfig with default values. This only runs in the CLI, as we don't support user defaults through the webhook.

func (*CloudStackMachineConfig) SetupWebhookWithManager added in v0.8.0

func (r *CloudStackMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*CloudStackMachineConfig) Users added in v0.18.0

Users returns a list of configuration for OS users.

func (*CloudStackMachineConfig) Validate added in v0.9.0

func (c *CloudStackMachineConfig) Validate() error

func (*CloudStackMachineConfig) ValidateCreate added in v0.8.0

func (r *CloudStackMachineConfig) ValidateCreate() (admission.Warnings, error)

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

func (*CloudStackMachineConfig) ValidateDelete added in v0.8.0

func (r *CloudStackMachineConfig) ValidateDelete() (admission.Warnings, error)

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

func (*CloudStackMachineConfig) ValidateUpdate added in v0.8.0

func (r *CloudStackMachineConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

func (*CloudStackMachineConfig) ValidateUsers added in v0.16.0

func (c *CloudStackMachineConfig) ValidateUsers() error

ValidateUsers verifies a CloudStackMachineConfig object must have a users with ssh authorized keys. This validation only runs in CloudStackMachineConfig validation webhook, as we support auto-generate and import ssh key when creating a cluster via CLI.

type CloudStackMachineConfigGenerate added in v0.8.0

type CloudStackMachineConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec CloudStackMachineConfigSpec `json:"spec,omitempty"`
}

CloudStackMachineConfigGenerate the same as CloudStackMachineConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewCloudStackMachineConfigGenerate added in v0.8.0

func NewCloudStackMachineConfigGenerate(name string) *CloudStackMachineConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*CloudStackMachineConfigGenerate) APIVersion added in v0.8.0

func (c *CloudStackMachineConfigGenerate) APIVersion() string

func (*CloudStackMachineConfigGenerate) Kind added in v0.8.0

func (*CloudStackMachineConfigGenerate) Name added in v0.8.0

type CloudStackMachineConfigList added in v0.8.0

type CloudStackMachineConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CloudStackMachineConfig `json:"items"`
}

CloudStackMachineConfigList contains a list of CloudStackMachineConfig.

func (*CloudStackMachineConfigList) DeepCopy added in v0.8.0

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

func (*CloudStackMachineConfigList) DeepCopyInto added in v0.8.0

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

func (*CloudStackMachineConfigList) DeepCopyObject added in v0.8.0

func (in *CloudStackMachineConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CloudStackMachineConfigSpec added in v0.8.0

type CloudStackMachineConfigSpec struct {
	// Template refers to a VM image template which has been previously registered in CloudStack.
	// It can either be specified as a UUID or name.
	// When using a template name it must include the Kubernetes version(s). For example,
	// a template used for Kubernetes 1.27 could be ubuntu-2204-1.27.
	Template CloudStackResourceIdentifier `json:"template"`
	// ComputeOffering refers to a compute offering which has been previously registered in
	// CloudStack. It represents a VM’s instance size including number of CPU’s, memory, and CPU
	// speed. It can either be specified as a UUID or name
	ComputeOffering CloudStackResourceIdentifier `json:"computeOffering"`
	// DiskOffering refers to a disk offering which has been previously registered in CloudStack.
	// It represents a disk offering with pre-defined size or custom specified disk size. It can
	// either be specified as a UUID or name
	DiskOffering *CloudStackResourceDiskOffering `json:"diskOffering,omitempty"`
	// Users consists of an array of objects containing the username, as well as a list of their
	// public keys. These users will be authorized to ssh into the machines
	Users []UserConfiguration `json:"users,omitempty"`
	// Defaults to `no`. Can be `pro` or `anti`. If set to `pro` or `anti`, will create an affinity
	// group per machine set of the corresponding type
	Affinity string `json:"affinity,omitempty"`
	// AffinityGroupIds allows users to pass in a list of UUIDs for previously-created Affinity
	// Groups. Any VM’s created with this spec will be added to the affinity group, which will
	// dictate which physical host(s) they can be placed on. Affinity groups can be type “affinity”
	// or “anti-affinity” in CloudStack. If they are type “anti-affinity”, all VM’s in the group
	// must be on separate physical hosts for high availability. If they are type “affinity”, all
	// VM’s in the group must be on the same physical host for improved performance
	AffinityGroupIds []string `json:"affinityGroupIds,omitempty"`
	// UserCustomDetails allows users to pass in non-standard key value inputs, outside those
	// defined [here](https://github.com/shapeblue/cloudstack/blob/main/api/src/main/java/com/cloud/vm/VmDetailConstants.java)
	UserCustomDetails map[string]string `json:"userCustomDetails,omitempty"`
	// Symlinks create soft symbolic links folders. One use case is to use data disk to store logs
	Symlinks SymlinkMaps `json:"symlinks,omitempty"`
}

CloudStackMachineConfigSpec defines the desired state of CloudStackMachineConfig.

func (*CloudStackMachineConfigSpec) DeepCopy added in v0.8.0

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

func (*CloudStackMachineConfigSpec) DeepCopyInto added in v0.8.0

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

func (*CloudStackMachineConfigSpec) Equal added in v0.9.0

type CloudStackMachineConfigStatus added in v0.8.0

type CloudStackMachineConfigStatus struct {
	// SpecValid is set to true if cloudstackmachineconfig is validated.
	SpecValid bool `json:"specValid,omitempty"`

	// FailureMessage indicates that there is a fatal problem reconciling the
	// state, and will be set to a descriptive error message.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

CloudStackMachineConfigStatus defines the observed state of CloudStackMachineConfig.

func (*CloudStackMachineConfigStatus) DeepCopy added in v0.8.0

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

func (*CloudStackMachineConfigStatus) DeepCopyInto added in v0.8.0

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

type CloudStackResourceDiskOffering added in v0.9.0

type CloudStackResourceDiskOffering struct {
	CloudStackResourceIdentifier `json:",inline"`
	// disk size in GB, > 0 for customized disk offering; = 0 for non-customized disk offering
	// +optional
	CustomSize int64 `json:"customSizeInGB,omitempty"`
	// path the filesystem will use to mount in VM
	MountPath string `json:"mountPath"`
	// device name of the disk offering in VM, shows up in lsblk command
	Device string `json:"device"`
	// filesystem used to mkfs in disk offering partition
	Filesystem string `json:"filesystem"`
	// disk label used to label disk partition
	Label string `json:"label"`
}

func (*CloudStackResourceDiskOffering) DeepCopy added in v0.9.0

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

func (*CloudStackResourceDiskOffering) DeepCopyInto added in v0.9.0

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

func (*CloudStackResourceDiskOffering) Equal added in v0.9.0

func (*CloudStackResourceDiskOffering) IsEmpty added in v0.11.4

func (r *CloudStackResourceDiskOffering) IsEmpty() bool

IsEmpty Introduced for backwards compatibility purposes. When CloudStackResourceDiskOffering was initially added to the CloudStackMachineConfig type, it was added with omitempty at the top level, but the subtypes were *not* optional, so we have old clusters today with zero value fields for the CloudStackResourceDiskOffering.

Since then, we have made DiskOffering an optional pointer, with everything inside it as optional. Functionally, setting DiskOffering=nil is equivalent to a CloudStackResourceDiskOffering with zero values. Introducing this check should help prevent unintended RollingUpgrades when upgrading a cluster which has this "empty" DiskOffering in it.

func (*CloudStackResourceDiskOffering) Validate added in v0.9.0

func (r *CloudStackResourceDiskOffering) Validate() (err error, field string, value string)

type CloudStackResourceIdentifier added in v0.8.0

type CloudStackResourceIdentifier struct {
	// Id of a resource in the CloudStack environment. Mutually exclusive with Name
	// +optional
	Id string `json:"id,omitempty"`
	// Name of a resource in the CloudStack environment. Mutually exclusive with Id
	// +optional
	Name string `json:"name,omitempty"`
}

func (*CloudStackResourceIdentifier) DeepCopy added in v0.8.0

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

func (*CloudStackResourceIdentifier) DeepCopyInto added in v0.8.0

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

func (*CloudStackResourceIdentifier) Equal added in v0.9.0

type CloudStackZone added in v0.8.0

type CloudStackZone struct {
	// Zone is the name or UUID of the CloudStack zone in which clusters should be created. Zones should be managed by a single CloudStack Management endpoint.
	Id   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
	// Network is the name or UUID of the CloudStack network in which clusters should be created. It can either be an isolated or shared network. If it doesn’t already exist in CloudStack, it’ll automatically be created by CAPC as an isolated network. It can either be specified as a UUID or name
	// In multiple-zones situation, only 'Shared' network is supported.
	Network CloudStackResourceIdentifier `json:"network"`
}

CloudStackZone is an organizational construct typically used to represent a single datacenter, and all its physical and virtual resources exist inside that zone. It can either be specified as a UUID or name.

func (*CloudStackZone) DeepCopy added in v0.8.0

func (in *CloudStackZone) DeepCopy() *CloudStackZone

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

func (*CloudStackZone) DeepCopyInto added in v0.8.0

func (in *CloudStackZone) DeepCopyInto(out *CloudStackZone)

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

func (*CloudStackZone) Equal added in v0.9.0

func (z *CloudStackZone) Equal(o *CloudStackZone) bool

type Cluster

type Cluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ClusterSpec   `json:"spec,omitempty"`
	Status ClusterStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status Cluster is the Schema for the clusters API.

func GetAndValidateClusterConfig

func GetAndValidateClusterConfig(fileName string) (*Cluster, error)

GetClusterConfig parses a Cluster object from a multiobject yaml file in disk sets defaults if necessary and validates the Cluster.

func GetClusterConfig

func GetClusterConfig(fileName string) (*Cluster, error)

GetClusterConfig parses a Cluster object from a multiobject yaml file in disk and sets defaults if necessary.

func (*Cluster) AddManagedByCLIAnnotation added in v0.19.0

func (c *Cluster) AddManagedByCLIAnnotation()

AddManagedByCLIAnnotation adds the managed-by-cli annotation to the cluster.

func (*Cluster) AddTinkerbellIPAnnotation added in v0.19.0

func (c *Cluster) AddTinkerbellIPAnnotation(tinkerbellIP string)

AddTinkerbellIPAnnotation adds the managed-by-cli annotation to the cluster.

func (*Cluster) AllowDeleteWhilePaused added in v0.19.0

func (c *Cluster) AllowDeleteWhilePaused()

AllowDeleteWhilePaused adds the allow-delete-when-paused annotation to the cluster.

func (*Cluster) CanDeleteWhenPaused added in v0.19.0

func (c *Cluster) CanDeleteWhenPaused() bool

CanDeleteWhenPaused returns true if the cluster has the allow-delete-when-paused annotation.

func (*Cluster) ClearFailure added in v0.17.0

func (c *Cluster) ClearFailure()

ClearFailure clears the failureMessage and failureReason of the Cluster status by setting them to nil.

func (*Cluster) ClearManagedByCLIAnnotation added in v0.19.0

func (c *Cluster) ClearManagedByCLIAnnotation()

ClearManagedByCLIAnnotation removes the managed-by-cli annotation from the cluster.

func (*Cluster) ClearPauseAnnotation

func (c *Cluster) ClearPauseAnnotation()

func (*Cluster) ClearTinkerbellIPAnnotation added in v0.19.0

func (c *Cluster) ClearTinkerbellIPAnnotation()

ClearTinkerbellIPAnnotation removes the managed-by-cli annotation from the cluster.

func (*Cluster) ControlPlaneAnnotation

func (c *Cluster) ControlPlaneAnnotation() string

func (*Cluster) ControlPlaneIPCheckDisabled added in v0.17.0

func (c *Cluster) ControlPlaneIPCheckDisabled() bool

ControlPlaneIPCheckDisabled checks it the `skip-ip-check` annotation is set on the Cluster object.

func (*Cluster) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *Cluster) ConvertConfigToConfigGenerateStruct() *ClusterGenerate

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

func (in *Cluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Cluster) Default added in v0.11.0

func (r *Cluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*Cluster) DisableControlPlaneIPCheck added in v0.17.0

func (c *Cluster) DisableControlPlaneIPCheck()

DisableControlPlaneIPCheck sets the `skip-ip-check` annotation on the Cluster object.

func (*Cluster) Equal added in v0.6.0

func (n *Cluster) Equal(o *Cluster) bool

func (*Cluster) EtcdAnnotation

func (c *Cluster) EtcdAnnotation() string

func (*Cluster) ExpectedKind

func (c *Cluster) ExpectedKind() string

func (*Cluster) GetConditions added in v0.8.0

func (c *Cluster) GetConditions() clusterv1.Conditions

func (*Cluster) HasAWSIamConfig added in v0.13.0

func (c *Cluster) HasAWSIamConfig() bool

HasAWSIamConfig checks if AWSIamConfig is configured for the cluster.

func (*Cluster) HasFailure added in v0.19.0

func (c *Cluster) HasFailure() bool

HasFailure checks whether there is a failureMessage and/or failureReason set on the Cluster status.

func (*Cluster) HasTinkerbellIPAnnotation added in v0.19.0

func (c *Cluster) HasTinkerbellIPAnnotation() string

HasTinkerbellIPAnnotation returns the tinkerbell IP value if the annotation exists.

func (*Cluster) IsManaged added in v0.6.0

func (c *Cluster) IsManaged() bool

IsManaged returns true if the Cluster is not self managed.

func (*Cluster) IsManagedByCLI added in v0.19.0

func (c *Cluster) IsManagedByCLI() bool

IsManagedByCLI returns true if the cluster has the managed-by-cli annotation.

func (*Cluster) IsPackagesEnabled added in v0.15.0

func (c *Cluster) IsPackagesEnabled() bool

IsPackagesEnabled checks if the user has opted out of curated packages installation.

func (*Cluster) IsReconcilePaused

func (c *Cluster) IsReconcilePaused() bool

func (*Cluster) IsSelfManaged added in v0.6.0

func (c *Cluster) IsSelfManaged() bool

func (*Cluster) IsSingleNode added in v0.16.0

func (c *Cluster) IsSingleNode() bool

IsSingleNode checks if the cluster has only a single node specified between the controlplane and worker nodes.

func (*Cluster) Kind

func (c *Cluster) Kind() string

func (*Cluster) KubernetesVersions added in v0.17.0

func (c *Cluster) KubernetesVersions() []KubernetesVersion

KubernetesVersions returns a set of all unique k8s versions specified in the cluster for both CP and workers.

func (*Cluster) MachineConfigRefs added in v0.6.0

func (c *Cluster) MachineConfigRefs() []Ref

func (*Cluster) ManagedBy added in v0.6.0

func (c *Cluster) ManagedBy() string

ManagedBy returns the Cluster's management cluster's name.

func (*Cluster) ManagementClusterEqual added in v0.6.0

func (c *Cluster) ManagementClusterEqual(s2 *Cluster) bool

func (*Cluster) ManagementComponentsVersion added in v0.19.0

func (c *Cluster) ManagementComponentsVersion() string

ManagementComponentsVersion returns `management-components version`annotation value on the Cluster object.

func (*Cluster) PauseReconcile

func (c *Cluster) PauseReconcile()

func (*Cluster) PausedAnnotation

func (c *Cluster) PausedAnnotation() string

func (*Cluster) PreventDeleteWhilePaused added in v0.19.0

func (c *Cluster) PreventDeleteWhilePaused()

PreventDeleteWhilePaused removes the allow-delete-when-paused annotation to the cluster.

func (*Cluster) ProxyConfiguration added in v0.9.0

func (c *Cluster) ProxyConfiguration() map[string]string

func (*Cluster) RegistryAuth added in v0.12.0

func (c *Cluster) RegistryAuth() bool

RegistryAuth returns whether registry requires authentication or not.

func (*Cluster) ResourceType

func (c *Cluster) ResourceType() string

func (*Cluster) SetConditions added in v0.8.0

func (c *Cluster) SetConditions(conditions clusterv1.Conditions)

func (*Cluster) SetDefaults added in v0.8.0

func (n *Cluster) SetDefaults()

func (*Cluster) SetFailure added in v0.17.0

func (c *Cluster) SetFailure(failureReason FailureReasonType, failureMessage string)

SetFailure sets the failureMessage and failureReason of the Cluster status.

func (*Cluster) SetManagedBy added in v0.6.0

func (c *Cluster) SetManagedBy(managementClusterName string)

func (*Cluster) SetManagementComponentsVersion added in v0.19.0

func (c *Cluster) SetManagementComponentsVersion(version string)

SetManagementComponentsVersion sets the `management-components version` annotation on the Cluster object.

func (*Cluster) SetSelfManaged added in v0.6.0

func (c *Cluster) SetSelfManaged()

func (*Cluster) SetupWebhookWithManager

func (r *Cluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Cluster) Validate added in v0.8.0

func (n *Cluster) Validate() error

func (*Cluster) ValidateCreate

func (r *Cluster) ValidateCreate() (admission.Warnings, error)

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

func (*Cluster) ValidateDelete

func (r *Cluster) ValidateDelete() (admission.Warnings, error)

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

func (*Cluster) ValidateUpdate

func (r *Cluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type ClusterGenerate

type ClusterGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec ClusterSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as Cluster except stripped down for generation of yaml file during generate clusterconfig.

func NewClusterGenerate

func NewClusterGenerate(clusterName string, opts ...ClusterGenerateOpt) *ClusterGenerate

Used for generating yaml for generate clusterconfig command.

func (*ClusterGenerate) SetSelfManaged added in v0.6.1

func (c *ClusterGenerate) SetSelfManaged()

type ClusterGenerateOpt

type ClusterGenerateOpt func(config *ClusterGenerate)

+kubebuilder:object:generate=false

func ControlPlaneConfigCount

func ControlPlaneConfigCount(count int) ClusterGenerateOpt

func ExternalETCDConfigCount

func ExternalETCDConfigCount(count int) ClusterGenerateOpt

func WithCPMachineGroupRef

func WithCPMachineGroupRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithCPUpgradeRolloutStrategy added in v0.13.0

func WithCPUpgradeRolloutStrategy(maxSurge int, maxUnavailable int) ClusterGenerateOpt

WithCPUpgradeRolloutStrategy allows add UpgradeRolloutStrategy option to cluster config under ControlPlaneConfiguration.

func WithClusterEndpoint

func WithClusterEndpoint() ClusterGenerateOpt

func WithDatacenterRef

func WithDatacenterRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithEtcdMachineGroupRef

func WithEtcdMachineGroupRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithSharedMachineGroupRef

func WithSharedMachineGroupRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithWorkerMachineGroupRef

func WithWorkerMachineGroupRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithWorkerMachineUpgradeRolloutStrategy added in v0.13.0

func WithWorkerMachineUpgradeRolloutStrategy(maxSurge int, maxUnavailable int) ClusterGenerateOpt

WithWorkerMachineUpgradeRolloutStrategy allows add UpgradeRolloutStrategy option to cluster config under WorkerNodeGroupConfiguration.

func WorkerNodeConfigCount

func WorkerNodeConfigCount(count int) ClusterGenerateOpt

func WorkerNodeConfigName added in v0.7.0

func WorkerNodeConfigName(name string) ClusterGenerateOpt

type ClusterList

type ClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Cluster `json:"items"`
}

+kubebuilder:object:root=true ClusterList contains a list of Cluster.

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

func (in *ClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterNetwork

type ClusterNetwork struct {
	// Comma-separated list of CIDR blocks to use for pod and service subnets.
	// Defaults to 192.168.0.0/16 for pod subnet.
	Pods     Pods     `json:"pods,omitempty"`
	Services Services `json:"services,omitempty"`
	// Deprecated. Use CNIConfig
	CNI CNI `json:"cni,omitempty"`
	// CNIConfig specifies the CNI plugin to be installed in the cluster
	CNIConfig *CNIConfig `json:"cniConfig,omitempty"`
	DNS       DNS        `json:"dns,omitempty"`
	Nodes     *Nodes     `json:"nodes,omitempty"`
}

func (*ClusterNetwork) DeepCopy

func (in *ClusterNetwork) DeepCopy() *ClusterNetwork

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

func (*ClusterNetwork) DeepCopyInto

func (in *ClusterNetwork) DeepCopyInto(out *ClusterNetwork)

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

func (*ClusterNetwork) Equal

func (n *ClusterNetwork) Equal(o *ClusterNetwork) bool

type ClusterSpec

type ClusterSpec struct {
	KubernetesVersion             KubernetesVersion              `json:"kubernetesVersion,omitempty"`
	ControlPlaneConfiguration     ControlPlaneConfiguration      `json:"controlPlaneConfiguration,omitempty"`
	WorkerNodeGroupConfigurations []WorkerNodeGroupConfiguration `json:"workerNodeGroupConfigurations,omitempty"`
	DatacenterRef                 Ref                            `json:"datacenterRef,omitempty"`
	IdentityProviderRefs          []Ref                          `json:"identityProviderRefs,omitempty"`
	GitOpsRef                     *Ref                           `json:"gitOpsRef,omitempty"`
	ClusterNetwork                ClusterNetwork                 `json:"clusterNetwork,omitempty"`
	// +kubebuilder:validation:Optional
	ExternalEtcdConfiguration   *ExternalEtcdConfiguration   `json:"externalEtcdConfiguration,omitempty"`
	ProxyConfiguration          *ProxyConfiguration          `json:"proxyConfiguration,omitempty"`
	RegistryMirrorConfiguration *RegistryMirrorConfiguration `json:"registryMirrorConfiguration,omitempty"`
	ManagementCluster           ManagementCluster            `json:"managementCluster,omitempty"`
	PodIAMConfig                *PodIAMConfig                `json:"podIamConfig,omitempty"`
	Packages                    *PackageConfiguration        `json:"packages,omitempty"`
	// BundlesRef contains a reference to the Bundles containing the desired dependencies for the cluster.
	// DEPRECATED: Use EksaVersion instead.
	BundlesRef         *BundlesRef         `json:"bundlesRef,omitempty"`
	EksaVersion        *EksaVersion        `json:"eksaVersion,omitempty"`
	MachineHealthCheck *MachineHealthCheck `json:"machineHealthCheck,omitempty"`
	EtcdEncryption     *[]EtcdEncryption   `json:"etcdEncryption,omitempty"`
}

ClusterSpec defines the desired state of Cluster.

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

type ClusterStatus struct {
	// Descriptive message about a fatal problem while reconciling a cluster
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Machine readable value about a terminal problem while reconciling the cluster
	// set at the same time as failureMessage
	// +optional
	FailureReason *FailureReasonType `json:"failureReason,omitempty"`

	// EksdReleaseRef defines the properties of the EKS-D object on the cluster
	EksdReleaseRef *EksdReleaseRef `json:"eksdReleaseRef,omitempty"`
	// +optional
	Conditions []Condition `json:"conditions,omitempty"`

	// ReconciledGeneration represents the .metadata.generation the last time the
	// cluster was successfully reconciled. It is the latest generation observed
	// by the controller.
	// NOTE: This field was added for internal use and we do not provide guarantees
	// to its behavior if changed externally. Its meaning and implementation are
	// subject to change in the future.
	ReconciledGeneration int64 `json:"reconciledGeneration,omitempty"`

	// ChildrenReconciledGeneration represents the sum of the .metadata.generation
	// for all the linked objects for the cluster, observed the last time the
	// cluster was successfully reconciled.
	// NOTE: This field was added for internal use and we do not provide guarantees
	// to its behavior if changed externally. Its meaning and implementation are
	// subject to change in the future.
	ChildrenReconciledGeneration int64 `json:"childrenReconciledGeneration,omitempty"`

	// ObservedGeneration is the latest generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

ClusterStatus defines the observed state of Cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type Condition added in v0.17.0

type Condition = clusterv1.Condition

Condition is an alias for clusterv1.Condition. +kubebuilder:object:generate=false

type ConditionType added in v0.17.0

type ConditionType = clusterv1.ConditionType

ConditionType is an alias for clusterv1.ConditionType.

const (
	// NodeUpgradeKind stores the Kind for NodeUpgrade.
	NodeUpgradeKind = "NodeUpgrade"

	// UpgraderPodCreated reports whether the upgrader pod has been created for the node upgrade.
	UpgraderPodCreated ConditionType = "UpgraderPodCreated"

	// BinariesCopied reports whether the binaries have been copied over by the component copier container.
	BinariesCopied ConditionType = "BinariesCopied"

	// ContainerdUpgraded reports whether containerd has been upgraded.
	ContainerdUpgraded ConditionType = "ContainerdUpgraded"

	// CNIPluginsUpgraded reports whether the CNI plugins has been upgraded.
	CNIPluginsUpgraded ConditionType = "CNIPluginsUpgraded"

	// KubeadmUpgraded reports whether Kubeadm has been upgraded.
	KubeadmUpgraded ConditionType = "KubeadmUpgraded"

	// KubeletUpgraded reports whether kubelet has been upgraded.
	KubeletUpgraded ConditionType = "KubeletUpgraded"

	// PostUpgradeCleanupCompleted reports whether the post upgrade operations have been completed.
	PostUpgradeCleanupCompleted ConditionType = "PostUpgradeCleanupCompleted"
)

type ControlPlaneConfiguration

type ControlPlaneConfiguration struct {
	// Count defines the number of desired control plane nodes. Defaults to 1.
	Count int `json:"count,omitempty"`
	// Endpoint defines the host ip and port to use for the control plane.
	Endpoint *Endpoint `json:"endpoint,omitempty"`
	// MachineGroupRef defines the machine group configuration for the control plane.
	MachineGroupRef *Ref `json:"machineGroupRef,omitempty"`
	// Taints define the set of taints to be applied on control plane nodes
	Taints []corev1.Taint `json:"taints,omitempty"`
	// Labels define the labels to assign to the node
	Labels map[string]string `json:"labels,omitempty"`
	// UpgradeRolloutStrategy determines the rollout strategy to use for rolling upgrades
	// and related parameters/knobs
	UpgradeRolloutStrategy *ControlPlaneUpgradeRolloutStrategy `json:"upgradeRolloutStrategy,omitempty"`
	// SkipLoadBalancerDeployment skip deploying control plane load balancer.
	// Make sure your infrastructure can handle control plane load balancing when you set this field to true.
	SkipLoadBalancerDeployment bool `json:"skipLoadBalancerDeployment,omitempty"`
	// CertSANs is a slice of domain names or IPs to be added as Subject Name Alternatives of the
	// Kube API Servers Certificate.
	CertSANs []string `json:"certSans,omitempty"`
	// MachineHealthCheck is a control-plane level override for the timeouts and maxUnhealthy specified in the top-level MHC configuration. If not configured, the defaults in the top-level MHC configuration are used.
	MachineHealthCheck *MachineHealthCheck `json:"machineHealthCheck,omitempty"`
	// APIServerExtraArgs defines the flags to configure for the API server.
	APIServerExtraArgs map[string]string `json:"apiServerExtraArgs,omitempty"`
	// KubeletConfiguration is a struct that exposes the Kubelet settings for the user to set on control plane nodes.
	// +kubebuilder:pruning:PreserveUnknownFields
	KubeletConfiguration *unstructured.Unstructured `json:"kubeletConfiguration,omitempty"`
}

func (*ControlPlaneConfiguration) DeepCopy

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

func (*ControlPlaneConfiguration) DeepCopyInto

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

func (*ControlPlaneConfiguration) Equal added in v0.6.0

type ControlPlaneRollingUpdateParams added in v0.13.0

type ControlPlaneRollingUpdateParams struct {
	MaxSurge int `json:"maxSurge"`
}

ControlPlaneRollingUpdateParams is API for rolling update strategy knobs.

func (*ControlPlaneRollingUpdateParams) DeepCopy added in v0.13.0

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

func (*ControlPlaneRollingUpdateParams) DeepCopyInto added in v0.13.0

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

type ControlPlaneUpgrade added in v0.19.0

type ControlPlaneUpgrade struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ControlPlaneUpgradeSpec   `json:"spec,omitempty"`
	Status ControlPlaneUpgradeStatus `json:"status,omitempty"`
}

ControlPlaneUpgrade is the Schema for the controlplaneupgrade API.

func (*ControlPlaneUpgrade) DeepCopy added in v0.19.0

func (in *ControlPlaneUpgrade) DeepCopy() *ControlPlaneUpgrade

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

func (*ControlPlaneUpgrade) DeepCopyInto added in v0.19.0

func (in *ControlPlaneUpgrade) DeepCopyInto(out *ControlPlaneUpgrade)

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

func (*ControlPlaneUpgrade) DeepCopyObject added in v0.19.0

func (in *ControlPlaneUpgrade) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControlPlaneUpgradeList added in v0.19.0

type ControlPlaneUpgradeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ControlPlaneUpgrade `json:"items"`
}

ControlPlaneUpgradeList contains a list of ControlPlaneUpgradeSpec.

func (*ControlPlaneUpgradeList) DeepCopy added in v0.19.0

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

func (*ControlPlaneUpgradeList) DeepCopyInto added in v0.19.0

func (in *ControlPlaneUpgradeList) DeepCopyInto(out *ControlPlaneUpgradeList)

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

func (*ControlPlaneUpgradeList) DeepCopyObject added in v0.19.0

func (in *ControlPlaneUpgradeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControlPlaneUpgradeRolloutStrategy added in v0.13.0

type ControlPlaneUpgradeRolloutStrategy struct {
	Type          UpgradeRolloutStrategyType       `json:"type,omitempty"`
	RollingUpdate *ControlPlaneRollingUpdateParams `json:"rollingUpdate,omitempty"`
}

ControlPlaneUpgradeRolloutStrategy indicates rollout strategy for cluster.

func (*ControlPlaneUpgradeRolloutStrategy) DeepCopy added in v0.13.0

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

func (*ControlPlaneUpgradeRolloutStrategy) DeepCopyInto added in v0.13.0

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

type ControlPlaneUpgradeSpec added in v0.19.0

type ControlPlaneUpgradeSpec struct {
	// ControlPlane is a reference to the KubeadmControlPlane object to upgrade.
	ControlPlane corev1.ObjectReference `json:"controlPlane"`

	// MachinesRequireUpgrade is a list of references to CAPI machines that need to be upgraded.
	MachinesRequireUpgrade []corev1.ObjectReference `json:"machinesRequireUpgrade"`

	// KubernetesVersion refers to the Kubernetes version to upgrade the control planes to.
	KubernetesVersion string `json:"kubernetesVersion"`

	// EtcdVersion refers to the version of ETCD to upgrade to.
	EtcdVersion string `json:"etcdVersion"`

	// ControlPlaneSpecData contains base64 encoded KCP spec that's used to update
	// the statuses of CAPI objects once the control plane upgrade is done.
	// This field is needed so that we have a static copy of the control plane spec
	// in case it gets modified after the ControlPlaneUpgrade was created,
	// as ControlPlane is a reference to the object in real time.
	ControlPlaneSpecData string `json:"controlPlaneSpecData"`
}

ControlPlaneUpgradeSpec defines the desired state of ControlPlaneUpgrade.

func (*ControlPlaneUpgradeSpec) DeepCopy added in v0.19.0

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

func (*ControlPlaneUpgradeSpec) DeepCopyInto added in v0.19.0

func (in *ControlPlaneUpgradeSpec) DeepCopyInto(out *ControlPlaneUpgradeSpec)

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

type ControlPlaneUpgradeStatus added in v0.19.0

type ControlPlaneUpgradeStatus struct {
	// RequireUpgrade is the number of machines that still need to be upgraded.
	RequireUpgrade int64 `json:"requireUpgrade,omitempty"`

	// Upgraded is the number of machines that have been upgraded.
	Upgraded int64 `json:"upgraded,omitempty"`

	// Ready denotes that the all control planes have finished upgrading and are ready.
	Ready bool `json:"ready,omitempty"`
}

ControlPlaneUpgradeStatus defines the observed state of ControlPlaneUpgrade.

func (*ControlPlaneUpgradeStatus) DeepCopy added in v0.19.0

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

func (*ControlPlaneUpgradeStatus) DeepCopyInto added in v0.19.0

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

type DNS added in v0.7.0

type DNS struct {
	// ResolvConf refers to the DNS resolver configuration
	ResolvConf *ResolvConf `json:"resolvConf,omitempty"`
}

func (*DNS) DeepCopy added in v0.7.0

func (in *DNS) DeepCopy() *DNS

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

func (*DNS) DeepCopyInto added in v0.7.0

func (in *DNS) DeepCopyInto(out *DNS)

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

func (*DNS) Equal added in v0.8.0

func (n *DNS) Equal(o *DNS) bool

type DockerDatacenterConfig

type DockerDatacenterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DockerDatacenterConfigSpec   `json:"spec,omitempty"`
	Status DockerDatacenterConfigStatus `json:"status,omitempty"`
}

DockerDatacenterConfig is the Schema for the DockerDatacenterConfigs API.

func GetDockerDatacenterConfig

func GetDockerDatacenterConfig(fileName string) (*DockerDatacenterConfig, error)

func (*DockerDatacenterConfig) ClearPauseAnnotation

func (d *DockerDatacenterConfig) ClearPauseAnnotation()

func (*DockerDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (d *DockerDatacenterConfig) ConvertConfigToConfigGenerateStruct() *DockerDatacenterConfigGenerate

func (*DockerDatacenterConfig) DeepCopy

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

func (*DockerDatacenterConfig) DeepCopyInto

func (in *DockerDatacenterConfig) DeepCopyInto(out *DockerDatacenterConfig)

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

func (*DockerDatacenterConfig) DeepCopyObject

func (in *DockerDatacenterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DockerDatacenterConfig) ExpectedKind

func (d *DockerDatacenterConfig) ExpectedKind() string

func (*DockerDatacenterConfig) Kind

func (d *DockerDatacenterConfig) Kind() string

func (*DockerDatacenterConfig) Marshallable added in v0.6.0

func (d *DockerDatacenterConfig) Marshallable() Marshallable

func (*DockerDatacenterConfig) PauseReconcile

func (d *DockerDatacenterConfig) PauseReconcile()

func (*DockerDatacenterConfig) Validate added in v0.8.0

func (d *DockerDatacenterConfig) Validate() error

type DockerDatacenterConfigGenerate

type DockerDatacenterConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec DockerDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as DockerDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewDockerDatacenterConfigGenerate

func NewDockerDatacenterConfigGenerate(clusterName string) *DockerDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*DockerDatacenterConfigGenerate) APIVersion

func (c *DockerDatacenterConfigGenerate) APIVersion() string

func (*DockerDatacenterConfigGenerate) Kind

func (*DockerDatacenterConfigGenerate) Name

type DockerDatacenterConfigList

type DockerDatacenterConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DockerDatacenterConfig `json:"items"`
}

DockerDatacenterConfigList contains a list of DockerDatacenterConfig.

func (*DockerDatacenterConfigList) DeepCopy

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

func (*DockerDatacenterConfigList) DeepCopyInto

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

func (*DockerDatacenterConfigList) DeepCopyObject

func (in *DockerDatacenterConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DockerDatacenterConfigSpec

type DockerDatacenterConfigSpec struct {
}

DockerDatacenterConfigSpec defines the desired state of DockerDatacenterConfig.

func (*DockerDatacenterConfigSpec) DeepCopy

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

func (*DockerDatacenterConfigSpec) DeepCopyInto

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

type DockerDatacenterConfigStatus

type DockerDatacenterConfigStatus struct {
}

DockerDatacenterConfigStatus defines the observed state of DockerDatacenterConfig.

func (*DockerDatacenterConfigStatus) DeepCopy

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

func (*DockerDatacenterConfigStatus) DeepCopyInto

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

type EksaVersion added in v0.17.0

type EksaVersion string

EksaVersion is the semver identifying the release of eks-a used to populate the cluster components.

func (*EksaVersion) Equal added in v0.17.0

func (n *EksaVersion) Equal(o *EksaVersion) bool

Equal checks if two EksaVersions are equal.

type EksdReleaseRef added in v0.8.0

type EksdReleaseRef struct {
	// ApiVersion refers to the EKS-D API version
	ApiVersion string `json:"apiVersion"`
	// Kind refers to the Release kind for the EKS-D object
	Kind string `json:"kind"`
	// Name refers to the name of the EKS-D object on the cluster
	Name string `json:"name"`
	// Namespace refers to the namespace for the EKS-D release resources
	Namespace string `json:"namespace"`
}

func (*EksdReleaseRef) DeepCopy added in v0.8.0

func (in *EksdReleaseRef) DeepCopy() *EksdReleaseRef

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

func (*EksdReleaseRef) DeepCopyInto added in v0.8.0

func (in *EksdReleaseRef) DeepCopyInto(out *EksdReleaseRef)

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

type Endpoint

type Endpoint struct {
	// Host defines the ip that you want to use to connect to the control plane
	Host string `json:"host"`
}

func (*Endpoint) CloudStackEqual added in v0.16.0

func (n *Endpoint) CloudStackEqual(o *Endpoint) bool

CloudStackEqual makes CloudStack cluster upgrade to new release backward compatible by striping CloudStack cluster existing endpoint default port and comparing if expected endpoint and existing endpoint are equal. Cloudstack CLI used to add default port to cluster object. Now cluster object stays the same with customer input and port is defaulted only in CAPI template.

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

func (*Endpoint) Equal

func (n *Endpoint) Equal(o *Endpoint, kind string) bool

Equal compares if expected endpoint and existing endpoint are equal for non CloudStack clusters.

type EtcdEncryption added in v0.18.0

type EtcdEncryption struct {
	Providers []EtcdEncryptionProvider `json:"providers"`
	// Resources defines a list of objects and custom resources definitions that should be encrypted.
	Resources []string `json:"resources"`
}

EtcdEncryption defines the configuration for ETCD encryption.

func (*EtcdEncryption) DeepCopy added in v0.18.0

func (in *EtcdEncryption) DeepCopy() *EtcdEncryption

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

func (*EtcdEncryption) DeepCopyInto added in v0.18.0

func (in *EtcdEncryption) DeepCopyInto(out *EtcdEncryption)

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

type EtcdEncryptionProvider added in v0.18.0

type EtcdEncryptionProvider struct {
	// KMS defines the configuration for KMS Encryption provider.
	KMS *KMS `json:"kms"`
}

EtcdEncryptionProvider defines the configuration for ETCD encryption providers. Currently only KMS provider is supported.

func (*EtcdEncryptionProvider) DeepCopy added in v0.18.0

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

func (*EtcdEncryptionProvider) DeepCopyInto added in v0.18.0

func (in *EtcdEncryptionProvider) DeepCopyInto(out *EtcdEncryptionProvider)

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

type ExternalEtcdConfiguration

type ExternalEtcdConfiguration struct {
	Count int `json:"count,omitempty"`
	// MachineGroupRef defines the machine group configuration for the etcd machines.
	MachineGroupRef *Ref `json:"machineGroupRef,omitempty"`
}

ExternalEtcdConfiguration defines the configuration options for using unstacked etcd topology.

func (*ExternalEtcdConfiguration) DeepCopy

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

func (*ExternalEtcdConfiguration) DeepCopyInto

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

func (*ExternalEtcdConfiguration) Equal added in v0.6.0

type FailureReasonType added in v0.17.0

type FailureReasonType string

FailureReasonType is a type for defining failure reasons.

const (
	// MissingDependentObjectsReason reports that the Cluster is missing dependent objects.
	MissingDependentObjectsReason FailureReasonType = "MissingDependentObjects"

	// ManagementClusterRefInvalidReason reports that the Cluster management cluster reference is invalid. This
	// can whether if it does not exist or the cluster referenced is not a management cluster.
	ManagementClusterRefInvalidReason FailureReasonType = "ManagementClusterRefInvalid"

	// ClusterInvalidReason reports that the Cluster spec validation has failed.
	ClusterInvalidReason FailureReasonType = "ClusterInvalid"

	// DatacenterConfigInvalidReason reports that the Cluster datacenterconfig validation has failed.
	DatacenterConfigInvalidReason FailureReasonType = "DatacenterConfigInvalid"

	// MachineConfigInvalidReason reports that the Cluster machineconfig validation has failed.
	MachineConfigInvalidReason FailureReasonType = "MachineConfigInvalid"

	// UnavailableControlPlaneIPReason reports that the Cluster controlPlaneIP is already in use.
	UnavailableControlPlaneIPReason FailureReasonType = "UnavailableControlPlaneIP"

	// EksaVersionInvalidReason reports that the Cluster eksaVersion validation has failed.
	EksaVersionInvalidReason FailureReasonType = "EksaVersionInvalid"
)

Reasons for the terminal failures while reconciling the Cluster object.

const (
	// HardwareInvalidReason reports that the hardware validation has failed.
	HardwareInvalidReason FailureReasonType = "HardwareInvalid"

	// MachineInvalidReason reports that the baremetal machine validation has failed.
	MachineInvalidReason FailureReasonType = "MachineInvalid"
)

Reasons for the terminal failures while reconciling the Cluster object specific for Tinkerbell.

type Flux

type Flux struct {
	// github is the name of the Git Provider to host the Git repo.
	Github Github `json:"github,omitempty"`
}

Flux defines the Git repository options for Flux v2.

func (*Flux) DeepCopy

func (in *Flux) DeepCopy() *Flux

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

func (*Flux) DeepCopyInto

func (in *Flux) DeepCopyInto(out *Flux)

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

type FluxConfig added in v0.8.0

type FluxConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FluxConfigSpec   `json:"spec,omitempty"`
	Status FluxConfigStatus `json:"status,omitempty"`
}

FluxConfig is the Schema for the fluxconfigs API and defines the configurations of the Flux GitOps Toolkit and Git repository it links to.

func (*FluxConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (c *FluxConfig) ConvertConfigToConfigGenerateStruct() *FluxConfigGenerate

func (*FluxConfig) DeepCopy added in v0.8.0

func (in *FluxConfig) DeepCopy() *FluxConfig

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

func (*FluxConfig) DeepCopyInto added in v0.8.0

func (in *FluxConfig) DeepCopyInto(out *FluxConfig)

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

func (*FluxConfig) DeepCopyObject added in v0.8.0

func (in *FluxConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*FluxConfig) ExpectedKind added in v0.8.0

func (c *FluxConfig) ExpectedKind() string

func (*FluxConfig) Kind added in v0.8.0

func (c *FluxConfig) Kind() string

func (*FluxConfig) SetDefaults added in v0.8.0

func (c *FluxConfig) SetDefaults()

func (*FluxConfig) SetupWebhookWithManager added in v0.8.0

func (r *FluxConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*FluxConfig) Validate added in v0.8.0

func (c *FluxConfig) Validate() error

func (*FluxConfig) ValidateCreate added in v0.8.0

func (r *FluxConfig) ValidateCreate() (admission.Warnings, error)

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

func (*FluxConfig) ValidateDelete added in v0.8.0

func (r *FluxConfig) ValidateDelete() (admission.Warnings, error)

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

func (*FluxConfig) ValidateUpdate added in v0.8.0

func (r *FluxConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type FluxConfigGenerate added in v0.8.0

type FluxConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec FluxConfigSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as FluxConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.

type FluxConfigList added in v0.8.0

type FluxConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FluxConfig `json:"items"`
}

FluxConfigList contains a list of FluxConfig.

func (*FluxConfigList) DeepCopy added in v0.8.0

func (in *FluxConfigList) DeepCopy() *FluxConfigList

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

func (*FluxConfigList) DeepCopyInto added in v0.8.0

func (in *FluxConfigList) DeepCopyInto(out *FluxConfigList)

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

func (*FluxConfigList) DeepCopyObject added in v0.8.0

func (in *FluxConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FluxConfigSpec added in v0.8.0

type FluxConfigSpec struct {
	// SystemNamespace scope for this operation. Defaults to flux-system
	SystemNamespace string `json:"systemNamespace,omitempty"`

	// ClusterConfigPath relative to the repository root, when specified the cluster sync will be scoped to this path.
	ClusterConfigPath string `json:"clusterConfigPath,omitempty"`

	// Git branch. Defaults to main.
	// +kubebuilder:default:="main"
	Branch string `json:"branch,omitempty"`

	// Used to specify Github provider to host the Git repo and host the git files
	Github *GithubProviderConfig `json:"github,omitempty"`

	// Used to specify Git provider that will be used to host the git files
	Git *GitProviderConfig `json:"git,omitempty"`
}

FluxConfigSpec defines the desired state of FluxConfig.

func (*FluxConfigSpec) DeepCopy added in v0.8.0

func (in *FluxConfigSpec) DeepCopy() *FluxConfigSpec

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

func (*FluxConfigSpec) DeepCopyInto added in v0.8.0

func (in *FluxConfigSpec) DeepCopyInto(out *FluxConfigSpec)

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

func (*FluxConfigSpec) Equal added in v0.8.0

func (e *FluxConfigSpec) Equal(n *FluxConfigSpec) bool

type FluxConfigStatus added in v0.8.0

type FluxConfigStatus struct{}

FluxConfigStatus defines the observed state of FluxConfig.

func (*FluxConfigStatus) DeepCopy added in v0.8.0

func (in *FluxConfigStatus) DeepCopy() *FluxConfigStatus

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

func (*FluxConfigStatus) DeepCopyInto added in v0.8.0

func (in *FluxConfigStatus) DeepCopyInto(out *FluxConfigStatus)

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

type GitOpsConfig

type GitOpsConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GitOpsConfigSpec   `json:"spec,omitempty"`
	Status GitOpsConfigStatus `json:"status,omitempty"`
}

func (*GitOpsConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *GitOpsConfig) ConvertConfigToConfigGenerateStruct() *GitOpsConfigGenerate

func (*GitOpsConfig) ConvertToFluxConfig added in v0.9.0

func (c *GitOpsConfig) ConvertToFluxConfig() *FluxConfig

func (*GitOpsConfig) DeepCopy

func (in *GitOpsConfig) DeepCopy() *GitOpsConfig

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

func (*GitOpsConfig) DeepCopyInto

func (in *GitOpsConfig) DeepCopyInto(out *GitOpsConfig)

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

func (*GitOpsConfig) DeepCopyObject

func (in *GitOpsConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GitOpsConfig) ExpectedKind

func (c *GitOpsConfig) ExpectedKind() string

func (*GitOpsConfig) Kind

func (c *GitOpsConfig) Kind() string

func (*GitOpsConfig) SetDefaults added in v0.8.0

func (c *GitOpsConfig) SetDefaults()

func (*GitOpsConfig) SetupWebhookWithManager

func (r *GitOpsConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*GitOpsConfig) Validate added in v0.8.0

func (c *GitOpsConfig) Validate() error

func (*GitOpsConfig) ValidateCreate

func (r *GitOpsConfig) ValidateCreate() (admission.Warnings, error)

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

func (*GitOpsConfig) ValidateDelete

func (r *GitOpsConfig) ValidateDelete() (admission.Warnings, error)

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

func (*GitOpsConfig) ValidateUpdate

func (r *GitOpsConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type GitOpsConfigGenerate added in v0.6.0

type GitOpsConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec GitOpsConfigSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as GitOpsConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.

type GitOpsConfigList

type GitOpsConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GitOpsConfig `json:"items"`
}

GitOpsConfigList contains a list of GitOpsConfig.

func (*GitOpsConfigList) DeepCopy

func (in *GitOpsConfigList) DeepCopy() *GitOpsConfigList

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

func (*GitOpsConfigList) DeepCopyInto

func (in *GitOpsConfigList) DeepCopyInto(out *GitOpsConfigList)

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

func (*GitOpsConfigList) DeepCopyObject

func (in *GitOpsConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GitOpsConfigSpec

type GitOpsConfigSpec struct {
	Flux Flux `json:"flux,omitempty"`
}

GitOps defines the configurations of GitOps Toolkit and Git repository it links to.

func (*GitOpsConfigSpec) DeepCopy

func (in *GitOpsConfigSpec) DeepCopy() *GitOpsConfigSpec

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

func (*GitOpsConfigSpec) DeepCopyInto

func (in *GitOpsConfigSpec) DeepCopyInto(out *GitOpsConfigSpec)

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

func (*GitOpsConfigSpec) Equal

func (e *GitOpsConfigSpec) Equal(n *GitOpsConfigSpec) bool

type GitOpsConfigStatus

type GitOpsConfigStatus struct{}

GitOpsConfigStatus defines the observed state of GitOpsConfig.

func (*GitOpsConfigStatus) DeepCopy

func (in *GitOpsConfigStatus) DeepCopy() *GitOpsConfigStatus

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

func (*GitOpsConfigStatus) DeepCopyInto

func (in *GitOpsConfigStatus) DeepCopyInto(out *GitOpsConfigStatus)

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

type GitProviderConfig added in v0.8.0

type GitProviderConfig struct {
	// Repository URL for the repository to be used with flux. Can be either an SSH or HTTPS url.
	RepositoryUrl string `json:"repositoryUrl"`

	// SSH public key algorithm for the private key specified (rsa, ecdsa, ed25519) (default ecdsa)
	SshKeyAlgorithm string `json:"sshKeyAlgorithm,omitempty"`
}

func (*GitProviderConfig) DeepCopy added in v0.8.0

func (in *GitProviderConfig) DeepCopy() *GitProviderConfig

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

func (*GitProviderConfig) DeepCopyInto added in v0.8.0

func (in *GitProviderConfig) DeepCopyInto(out *GitProviderConfig)

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

func (*GitProviderConfig) Equal added in v0.8.0

type Github

type Github struct {
	// Owner is the user or organization name of the Git provider.
	Owner string `json:"owner"`

	// Repository name.
	Repository string `json:"repository"`

	// FluxSystemNamespace scope for this operation. Defaults to flux-system.
	FluxSystemNamespace string `json:"fluxSystemNamespace,omitempty"`

	// Git branch. Defaults to main.
	// +kubebuilder:default:="main"
	Branch string `json:"branch,omitempty"`

	// ClusterConfigPath relative to the repository root, when specified the cluster sync will be scoped to this path.
	ClusterConfigPath string `json:"clusterConfigPath,omitempty"`

	// if true, the owner is assumed to be a Git user; otherwise an org.
	Personal bool `json:"personal,omitempty"`
}

func (*Github) DeepCopy

func (in *Github) DeepCopy() *Github

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

func (*Github) DeepCopyInto

func (in *Github) DeepCopyInto(out *Github)

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

type GithubProviderConfig added in v0.8.0

type GithubProviderConfig struct {
	// Owner is the user or organization name of the Git provider.
	Owner string `json:"owner"`

	// Repository name.
	Repository string `json:"repository"`

	// if true, the owner is assumed to be a Git user; otherwise an org.
	Personal bool `json:"personal,omitempty"`
}

func (*GithubProviderConfig) DeepCopy added in v0.8.0

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

func (*GithubProviderConfig) DeepCopyInto added in v0.8.0

func (in *GithubProviderConfig) DeepCopyInto(out *GithubProviderConfig)

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

func (*GithubProviderConfig) Equal added in v0.8.0

type HardwareSelector added in v0.9.2

type HardwareSelector map[string]string

HardwareSelector models a simple key-value selector used in Tinkerbell provisioning.

func (HardwareSelector) DeepCopy added in v0.9.2

func (in HardwareSelector) DeepCopy() HardwareSelector

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

func (HardwareSelector) DeepCopyInto added in v0.9.2

func (in HardwareSelector) DeepCopyInto(out *HardwareSelector)

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

func (HardwareSelector) IsEmpty added in v0.9.2

func (s HardwareSelector) IsEmpty() bool

IsEmpty returns true if s has no key-value pairs.

func (HardwareSelector) ToString added in v0.9.2

func (s HardwareSelector) ToString() (string, error)

type HostOSConfiguration added in v0.15.0

type HostOSConfiguration struct {
	// +optional
	NTPConfiguration *NTPConfiguration `json:"ntpConfiguration,omitempty"`

	// +optional
	BottlerocketConfiguration *BottlerocketConfiguration `json:"bottlerocketConfiguration,omitempty"`

	// +optional
	CertBundles []certBundle `json:"certBundles,omitempty"`
}

HostOSConfiguration defines the configuration settings on the host OS.

func (*HostOSConfiguration) DeepCopy added in v0.15.0

func (in *HostOSConfiguration) DeepCopy() *HostOSConfiguration

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

func (*HostOSConfiguration) DeepCopyInto added in v0.15.0

func (in *HostOSConfiguration) DeepCopyInto(out *HostOSConfiguration)

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

type IPPool added in v0.14.0

type IPPool struct {
	// IPStart is the start address of an ip range.
	IPStart string `json:"ipStart"`

	// IPEnd is the end address of an ip range.
	IPEnd string `json:"ipEnd"`

	// Subnet is used to determine whether an ip is within subnet.
	Subnet string `json:"subnet"`

	// Gateway is the gateway of the subnet for routing purpose.
	Gateway string `json:"gateway"`
}

IPPool defines an ip pool with ip range, subnet and gateway.

func (*IPPool) DeepCopy added in v0.14.0

func (in *IPPool) DeepCopy() *IPPool

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

func (*IPPool) DeepCopyInto added in v0.14.0

func (in *IPPool) DeepCopyInto(out *IPPool)

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

type ImageResource added in v0.15.0

type ImageResource struct {
	// CPU image cpu
	CPU string `json:"cpu,omitempty"`

	// Memory image memory
	Memory string `json:"memory,omitempty"`
}

ImageResource resources for container image.

func (*ImageResource) DeepCopy added in v0.15.0

func (in *ImageResource) DeepCopy() *ImageResource

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

func (*ImageResource) DeepCopyInto added in v0.15.0

func (in *ImageResource) DeepCopyInto(out *ImageResource)

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

func (*ImageResource) Equal added in v0.15.0

func (n *ImageResource) Equal(o *ImageResource) bool

Equal for ImageResource.

type KMS added in v0.18.0

type KMS struct {
	// CacheSize defines the maximum number of encrypted objects to be cached in memory. The default value is 1000.
	// You can set this to a negative value to disable caching.
	CacheSize *int32 `json:"cachesize,omitempty"`
	// Name defines the name of KMS plugin to be used.
	Name string `json:"name"`
	// SocketListenAddress defines a UNIX socket address that the KMS provider listens on.
	SocketListenAddress string `json:"socketListenAddress"`
	// Timeout for kube-apiserver to wait for KMS plugin. Default is 3s.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

KMS defines the configuration for KMS Encryption provider.

func (*KMS) DeepCopy added in v0.18.0

func (in *KMS) DeepCopy() *KMS

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

func (*KMS) DeepCopyInto added in v0.18.0

func (in *KMS) DeepCopyInto(out *KMS)

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

type KindAccessor

type KindAccessor interface {
	Kind() string
	ExpectedKind() string
}

+kubebuilder:object:generate=false Interface for getting Kind field for Cluster type.

type KindnetdConfig added in v0.8.0

type KindnetdConfig struct{}

KindnetdConfig contains configuration specific to the Kindnetd CNI.

func (*KindnetdConfig) DeepCopy added in v0.8.0

func (in *KindnetdConfig) DeepCopy() *KindnetdConfig

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

func (*KindnetdConfig) DeepCopyInto added in v0.8.0

func (in *KindnetdConfig) DeepCopyInto(out *KindnetdConfig)

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

func (*KindnetdConfig) Equal added in v0.8.0

func (n *KindnetdConfig) Equal(o *KindnetdConfig) bool

type KubernetesVersion

type KubernetesVersion string
const (
	Kube118 KubernetesVersion = "1.18"
	Kube119 KubernetesVersion = "1.19"
	Kube120 KubernetesVersion = "1.20"
	Kube121 KubernetesVersion = "1.21"
	Kube122 KubernetesVersion = "1.22"
	Kube123 KubernetesVersion = "1.23"
	Kube124 KubernetesVersion = "1.24"
	Kube125 KubernetesVersion = "1.25"
	Kube126 KubernetesVersion = "1.26"
	Kube127 KubernetesVersion = "1.27"
	Kube128 KubernetesVersion = "1.28"
	Kube129 KubernetesVersion = "1.29"
	Kube130 KubernetesVersion = "1.30"
)

func GetClusterDefaultKubernetesVersion added in v0.8.0

func GetClusterDefaultKubernetesVersion() KubernetesVersion

GetClusterDefaultKubernetesVersion returns the default kubernetes version for a Cluster.

func (*KubernetesVersion) Equal added in v0.17.0

func (k *KubernetesVersion) Equal(other *KubernetesVersion) bool

Equal compares two KubernetesVersions.

type MachineDeploymentUpgrade added in v0.19.0

type MachineDeploymentUpgrade struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MachineDeploymentUpgradeSpec   `json:"spec,omitempty"`
	Status MachineDeploymentUpgradeStatus `json:"status,omitempty"`
}

MachineDeploymentUpgrade is the Schema for the machinedeploymentupgrades API.

func (*MachineDeploymentUpgrade) DeepCopy added in v0.19.0

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

func (*MachineDeploymentUpgrade) DeepCopyInto added in v0.19.0

func (in *MachineDeploymentUpgrade) DeepCopyInto(out *MachineDeploymentUpgrade)

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

func (*MachineDeploymentUpgrade) DeepCopyObject added in v0.19.0

func (in *MachineDeploymentUpgrade) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MachineDeploymentUpgradeList added in v0.19.0

type MachineDeploymentUpgradeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MachineDeploymentUpgrade `json:"items"`
}

MachineDeploymentUpgradeList contains a list of MachineDeploymentUpgrade.

func (*MachineDeploymentUpgradeList) DeepCopy added in v0.19.0

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

func (*MachineDeploymentUpgradeList) DeepCopyInto added in v0.19.0

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

func (*MachineDeploymentUpgradeList) DeepCopyObject added in v0.19.0

func (in *MachineDeploymentUpgradeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MachineDeploymentUpgradeSpec added in v0.19.0

type MachineDeploymentUpgradeSpec struct {
	// MachineDeployment is a reference to the KubeadmControlPlane object to upgrade.
	MachineDeployment corev1.ObjectReference `json:"machineDeployment"`

	// MachinesRequireUpgrade is a list of references to CAPI machines that need to be upgraded.
	MachinesRequireUpgrade []corev1.ObjectReference `json:"machinesRequireUpgrade"`

	// KubernetesVersion refers to the Kubernetes version to upgrade the control planes to.
	KubernetesVersion string `json:"kubernetesVersion"`

	// MachineSpecData is a base64 encoded json string value of the machineDeplopyment.Spec.Template.Spec field that's specification of the desired behavior of the machine.
	MachineSpecData string `json:"machineSpecData"`
}

MachineDeploymentUpgradeSpec defines the desired state of MachineDeploymentUpgrade.

func (*MachineDeploymentUpgradeSpec) DeepCopy added in v0.19.0

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

func (*MachineDeploymentUpgradeSpec) DeepCopyInto added in v0.19.0

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

type MachineDeploymentUpgradeStatus added in v0.19.0

type MachineDeploymentUpgradeStatus struct {
	// RequireUpgrade is the number of machines in the MachineDeployment that still need to be upgraded.
	RequireUpgrade int64 `json:"requireUpgrade,omitempty"`

	// Upgraded is the number of machines in the MachineDeployment that have been upgraded.
	Upgraded int64 `json:"upgraded,omitempty"`

	// Ready denotes that the all machines in the MachineDeployment have finished upgrading and are ready.
	Ready bool `json:"ready,omitempty"`
}

MachineDeploymentUpgradeStatus defines the observed state of MachineDeploymentUpgrade.

func (*MachineDeploymentUpgradeStatus) DeepCopy added in v0.19.0

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

func (*MachineDeploymentUpgradeStatus) DeepCopyInto added in v0.19.0

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

type MachineHealthCheck added in v0.17.0

type MachineHealthCheck struct {
	// NodeStartupTimeout is used to configure the node startup timeout in machine health checks. It determines how long a MachineHealthCheck should wait for a Node to join the cluster, before considering a Machine unhealthy. If not configured, the default value is set to "10m0s" (10 minutes) for all providers. For Tinkerbell provider the default is "20m0s".
	NodeStartupTimeout *metav1.Duration `json:"nodeStartupTimeout,omitempty"`
	// UnhealthyMachineTimeout is used to configure the unhealthy machine timeout in machine health checks. If any unhealthy conditions are met for the amount of time specified as the timeout, the machines are considered unhealthy. If not configured, the default value is set to "5m0s" (5 minutes).
	UnhealthyMachineTimeout *metav1.Duration `json:"unhealthyMachineTimeout,omitempty"`
	// MaxUnhealthy is used to configure the maximum number of unhealthy machines in machine health checks. This setting applies to both control plane and worker machines. If the number of unhealthy machines exceeds the limit set by maxUnhealthy, further remediation will not be performed. If not configured, the default value is set to "100%" for controlplane machines and "40%" for worker machines.
	MaxUnhealthy *intstr.IntOrString `json:"maxUnhealthy,omitempty"`
}

MachineHealthCheck allows to configure timeouts for machine health checks. Machine Health Checks are responsible for remediating unhealthy Machines. Configuring these values will decide how long to wait to remediate unhealthy machine or determine health of nodes' machines.

func (*MachineHealthCheck) DeepCopy added in v0.17.0

func (in *MachineHealthCheck) DeepCopy() *MachineHealthCheck

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

func (*MachineHealthCheck) DeepCopyInto added in v0.17.0

func (in *MachineHealthCheck) DeepCopyInto(out *MachineHealthCheck)

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

type ManagementCluster added in v0.6.0

type ManagementCluster struct {
	Name string `json:"name,omitempty"`
}

func (*ManagementCluster) DeepCopy added in v0.6.0

func (in *ManagementCluster) DeepCopy() *ManagementCluster

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

func (*ManagementCluster) DeepCopyInto added in v0.6.0

func (in *ManagementCluster) DeepCopyInto(out *ManagementCluster)

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

func (*ManagementCluster) Equal added in v0.6.0

type MapRoles added in v0.6.0

type MapRoles struct {
	RoleARN  string   `yaml:"rolearn" json:"roleARN"`
	Username string   `json:"username"`
	Groups   []string `json:"groups,omitempty"`
}

MapRoles defines IAM role to a username and set of groups mapping using EKSConfigMap BackendMode.

func (*MapRoles) DeepCopy added in v0.6.0

func (in *MapRoles) DeepCopy() *MapRoles

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

func (*MapRoles) DeepCopyInto added in v0.6.0

func (in *MapRoles) DeepCopyInto(out *MapRoles)

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

type MapUsers added in v0.6.0

type MapUsers struct {
	UserARN  string   `yaml:"userarn" json:"userARN"`
	Username string   `json:"username"`
	Groups   []string `json:"groups,omitempty"`
}

MapUsers defines IAM role to a username and set of groups mapping using EKSConfigMap BackendMode.

func (*MapUsers) DeepCopy added in v0.6.0

func (in *MapUsers) DeepCopy() *MapUsers

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

func (*MapUsers) DeepCopyInto added in v0.6.0

func (in *MapUsers) DeepCopyInto(out *MapUsers)

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

type Marshallable added in v0.6.0

type Marshallable interface{}

Marshallable represents all "generate" CRDs structs +kubebuilder:object:generate=false

type NTPConfiguration added in v0.15.0

type NTPConfiguration struct {
	// Servers defines a list of NTP servers to be configured on the host OS.
	Servers []string `json:"servers"`
}

NTPConfiguration defines the NTP configuration on the host OS.

func (*NTPConfiguration) DeepCopy added in v0.15.0

func (in *NTPConfiguration) DeepCopy() *NTPConfiguration

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

func (*NTPConfiguration) DeepCopyInto added in v0.15.0

func (in *NTPConfiguration) DeepCopyInto(out *NTPConfiguration)

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

type NodeUpgrade added in v0.19.0

type NodeUpgrade struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NodeUpgradeSpec   `json:"spec,omitempty"`
	Status NodeUpgradeStatus `json:"status,omitempty"`
}

NodeUpgrade is the Schema for the nodeupgrades API.

func (*NodeUpgrade) DeepCopy added in v0.19.0

func (in *NodeUpgrade) DeepCopy() *NodeUpgrade

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

func (*NodeUpgrade) DeepCopyInto added in v0.19.0

func (in *NodeUpgrade) DeepCopyInto(out *NodeUpgrade)

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

func (*NodeUpgrade) DeepCopyObject added in v0.19.0

func (in *NodeUpgrade) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NodeUpgrade) GetConditions added in v0.19.0

func (n *NodeUpgrade) GetConditions() clusterv1.Conditions

GetConditions returns all the Conditions for the NodeUpgrade object.

func (*NodeUpgrade) SetConditions added in v0.19.0

func (n *NodeUpgrade) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the Conditons on the NodeUpgrade object.

type NodeUpgradeList added in v0.19.0

type NodeUpgradeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeUpgrade `json:"items"`
}

NodeUpgradeList contains a list of NodeUpgrade.

func (*NodeUpgradeList) DeepCopy added in v0.19.0

func (in *NodeUpgradeList) DeepCopy() *NodeUpgradeList

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

func (*NodeUpgradeList) DeepCopyInto added in v0.19.0

func (in *NodeUpgradeList) DeepCopyInto(out *NodeUpgradeList)

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

func (*NodeUpgradeList) DeepCopyObject added in v0.19.0

func (in *NodeUpgradeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NodeUpgradeSpec added in v0.19.0

type NodeUpgradeSpec struct {
	// Machine is a reference to the CAPI Machine that needs to be upgraded.
	Machine corev1.ObjectReference `json:"machine"`

	// KubernetesVersion refers to the Kubernetes version to upgrade the node to.
	KubernetesVersion string `json:"kubernetesVersion"`

	// EtcdVersion refers to the version of ETCD to upgrade to.
	// This field is optional and only gets used for control plane nodes.
	// +optional
	EtcdVersion *string `json:"etcdVersion,omitempty"`

	// FirstNodeToBeUpgraded signifies that the Node is the first node to be upgraded.
	// This flag is only valid for control plane nodes and ignored for worker nodes.
	// +optional
	FirstNodeToBeUpgraded bool `json:"firstNodeToBeUpgraded,omitempty"`
}

NodeUpgradeSpec defines the desired state of NodeUpgrade.

func (*NodeUpgradeSpec) DeepCopy added in v0.19.0

func (in *NodeUpgradeSpec) DeepCopy() *NodeUpgradeSpec

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

func (*NodeUpgradeSpec) DeepCopyInto added in v0.19.0

func (in *NodeUpgradeSpec) DeepCopyInto(out *NodeUpgradeSpec)

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

type NodeUpgradeStatus added in v0.19.0

type NodeUpgradeStatus struct {
	// Conditions defines current state of the NodeUpgrade,
	// including the state of init containers, that facilitate the upgrade.
	// +optional
	Conditions []Condition `json:"conditions,omitempty"`

	// Completed denotes that the upgrader has completed running all the operations
	// and the node is successfully upgraded.
	// +optional
	Completed bool `json:"completed"`

	// ObservedGeneration is the latest generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

NodeUpgradeStatus defines the observed state of NodeUpgrade.

func (*NodeUpgradeStatus) DeepCopy added in v0.19.0

func (in *NodeUpgradeStatus) DeepCopy() *NodeUpgradeStatus

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

func (*NodeUpgradeStatus) DeepCopyInto added in v0.19.0

func (in *NodeUpgradeStatus) DeepCopyInto(out *NodeUpgradeStatus)

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

type Nodes added in v0.9.2

type Nodes struct {
	// CIDRMaskSize defines the mask size for node cidr in the cluster, default for ipv4 is 24. This is an optional field
	CIDRMaskSize *int `json:"cidrMaskSize,omitempty"`
}

func (*Nodes) DeepCopy added in v0.9.2

func (in *Nodes) DeepCopy() *Nodes

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

func (*Nodes) DeepCopyInto added in v0.9.2

func (in *Nodes) DeepCopyInto(out *Nodes)

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

func (*Nodes) Equal added in v0.13.0

func (n *Nodes) Equal(o *Nodes) bool

Equal compares two Nodes definitions and return true if the are equivalent.

type NutanixCategoryIdentifier added in v0.17.0

type NutanixCategoryIdentifier struct {
	// key is the Key of the category in the Prism Central.
	// +kubebuilder:validation:Required
	Key string `json:"key,omitempty"`

	// value is the category value linked to the key in the Prism Central.
	// +kubebuilder:validation:Required
	Value string `json:"value,omitempty"`
}

NutanixCategoryIdentifier holds the identity of a Nutanix Prism Central category.

func (*NutanixCategoryIdentifier) DeepCopy added in v0.17.0

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

func (*NutanixCategoryIdentifier) DeepCopyInto added in v0.17.0

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

type NutanixDatacenterConfig added in v0.12.0

type NutanixDatacenterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NutanixDatacenterConfigSpec   `json:"spec,omitempty"`
	Status NutanixDatacenterConfigStatus `json:"status,omitempty"`
}

NutanixDatacenterConfig is the Schema for the NutanixDatacenterConfigs API

+kubebuilder:object:root=true +kubebuilder:subresource:status

func GetNutanixDatacenterConfig added in v0.12.0

func GetNutanixDatacenterConfig(fileName string) (*NutanixDatacenterConfig, error)

GetNutanixDatacenterConfig parses config in a yaml file and returns a NutanixDatacenterConfig object.

func (*NutanixDatacenterConfig) ClearPauseAnnotation added in v0.12.0

func (in *NutanixDatacenterConfig) ClearPauseAnnotation()

func (*NutanixDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.12.0

func (in *NutanixDatacenterConfig) ConvertConfigToConfigGenerateStruct() *NutanixDatacenterConfigGenerate

func (*NutanixDatacenterConfig) DeepCopy added in v0.12.0

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

func (*NutanixDatacenterConfig) DeepCopyInto added in v0.12.0

func (in *NutanixDatacenterConfig) DeepCopyInto(out *NutanixDatacenterConfig)

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

func (*NutanixDatacenterConfig) DeepCopyObject added in v0.12.0

func (in *NutanixDatacenterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NutanixDatacenterConfig) ExpectedKind added in v0.12.0

func (in *NutanixDatacenterConfig) ExpectedKind() string

func (*NutanixDatacenterConfig) IsReconcilePaused added in v0.12.0

func (in *NutanixDatacenterConfig) IsReconcilePaused() bool

func (*NutanixDatacenterConfig) Kind added in v0.12.0

func (in *NutanixDatacenterConfig) Kind() string

func (*NutanixDatacenterConfig) Marshallable added in v0.12.0

func (in *NutanixDatacenterConfig) Marshallable() Marshallable

func (*NutanixDatacenterConfig) PauseReconcile added in v0.12.0

func (in *NutanixDatacenterConfig) PauseReconcile()

func (*NutanixDatacenterConfig) SetDefaults added in v0.15.0

func (in *NutanixDatacenterConfig) SetDefaults()

SetDefaults sets default values for the NutanixDatacenterConfig object.

func (*NutanixDatacenterConfig) SetupWebhookWithManager added in v0.15.0

func (r *NutanixDatacenterConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up the webhook with the manager.

func (*NutanixDatacenterConfig) Validate added in v0.12.0

func (in *NutanixDatacenterConfig) Validate() error

func (*NutanixDatacenterConfig) ValidateCreate added in v0.15.0

func (r *NutanixDatacenterConfig) ValidateCreate() (admission.Warnings, error)

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

func (*NutanixDatacenterConfig) ValidateDelete added in v0.15.0

func (r *NutanixDatacenterConfig) ValidateDelete() (admission.Warnings, error)

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

func (*NutanixDatacenterConfig) ValidateUpdate added in v0.15.0

func (r *NutanixDatacenterConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type NutanixDatacenterConfigGenerate added in v0.12.0

type NutanixDatacenterConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec NutanixDatacenterConfigSpec `json:"spec,omitempty"`
}

NutanixDatacenterConfigGenerate is same as NutanixDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig

+kubebuilder:object:generate=false

func NewNutanixDatacenterConfigGenerate added in v0.12.0

func NewNutanixDatacenterConfigGenerate(clusterName string) *NutanixDatacenterConfigGenerate

NewNutanixDatacenterConfigGenerate is used for generating yaml for generate clusterconfig command.

func (*NutanixDatacenterConfigGenerate) APIVersion added in v0.12.0

func (c *NutanixDatacenterConfigGenerate) APIVersion() string

func (*NutanixDatacenterConfigGenerate) Kind added in v0.12.0

func (*NutanixDatacenterConfigGenerate) Name added in v0.12.0

type NutanixDatacenterConfigList added in v0.12.0

type NutanixDatacenterConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NutanixDatacenterConfig `json:"items"`
}

NutanixDatacenterConfigList contains a list of NutanixDatacenterConfig

+kubebuilder:object:root=true

func (*NutanixDatacenterConfigList) DeepCopy added in v0.12.0

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

func (*NutanixDatacenterConfigList) DeepCopyInto added in v0.12.0

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

func (*NutanixDatacenterConfigList) DeepCopyObject added in v0.12.0

func (in *NutanixDatacenterConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NutanixDatacenterConfigSpec added in v0.12.0

type NutanixDatacenterConfigSpec struct {
	// Endpoint is the Endpoint of Nutanix Prism Central
	// +kubebuilder:validation:Required
	Endpoint string `json:"endpoint"`

	// Port is the Port of Nutanix Prism Central
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Default=9440
	Port int `json:"port"`

	// AdditionalTrustBundle is the optional PEM-encoded certificate bundle for
	// users that configured their Prism Central with certificates from non-publicly
	// trusted CAs
	AdditionalTrustBundle string `json:"additionalTrustBundle,omitempty"`

	// Insecure is the optional flag to skip TLS verification. Nutanix Prism
	// Central installation by default ships with a self-signed certificate
	// that will fail TLS verification because the certificate is not issued by
	// a public CA and does not have the IP SANs with the Prism Central endpoint.
	// To accommodate the scenario where the user has not changed the default
	// Certificate that ships with Prism Central, we allow the user to skip TLS
	// verification. This is not recommended for production use.
	Insecure bool `json:"insecure,omitempty"`

	// CredentialRef is the reference to the secret name that contains the credentials
	// for the Nutanix Prism Central. The namespace for the secret is assumed to be a constant i.e. eksa-system.
	// +optional
	CredentialRef *Ref `json:"credentialRef,omitempty"`

	// FailureDomains is the optional list of failure domains for the Nutanix Datacenter.
	// +optional
	FailureDomains []NutanixDatacenterFailureDomain `json:"failureDomains,omitempty"`
}

NutanixDatacenterConfigSpec defines the desired state of NutanixDatacenterConfig.

func (*NutanixDatacenterConfigSpec) DeepCopy added in v0.12.0

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

func (*NutanixDatacenterConfigSpec) DeepCopyInto added in v0.12.0

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

type NutanixDatacenterConfigStatus added in v0.12.0

type NutanixDatacenterConfigStatus struct{}

NutanixDatacenterConfigStatus defines the observed state of NutanixDatacenterConfig.

func (*NutanixDatacenterConfigStatus) DeepCopy added in v0.12.0

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

func (*NutanixDatacenterConfigStatus) DeepCopyInto added in v0.12.0

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

type NutanixDatacenterFailureDomain added in v0.20.0

type NutanixDatacenterFailureDomain struct {
	// Name is the unique name of the failure domain.
	// Name must be between 1 and 64 characters long.
	// It must consist of only lower case alphanumeric characters and hyphens (-).
	// It must start and end with an alphanumeric character.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=64
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	Name string `json:"name"`

	// Cluster is the Prism Element cluster name or uuid that is connected to the Prism Central.
	// +kubebuilder:validation:Required
	Cluster NutanixResourceIdentifier `json:"cluster,omitempty"`

	// Subnets holds the list of subnets identifiers cluster's network subnets.
	// +kubebuilder:validation:Required
	Subnets []NutanixResourceIdentifier `json:"subnets,omitempty"`
}

NutanixDatacenterFailureDomain defines the failure domain for the Nutanix Datacenter.

func (*NutanixDatacenterFailureDomain) DeepCopy added in v0.20.0

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

func (*NutanixDatacenterFailureDomain) DeepCopyInto added in v0.20.0

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

type NutanixIdentifierType added in v0.12.0

type NutanixIdentifierType string

NutanixIdentifierType is an enumeration of different resource identifier types.

func (NutanixIdentifierType) String added in v0.13.0

func (c NutanixIdentifierType) String() string

type NutanixMachineConfig added in v0.12.0

type NutanixMachineConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NutanixMachineConfigSpec   `json:"spec,omitempty"`
	Status NutanixMachineConfigStatus `json:"status,omitempty"`
}

NutanixMachineConfig is the Schema for the nutanix machine configs API

+kubebuilder:object:root=true +kubebuilder:subresource:status

func (*NutanixMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.12.0

func (in *NutanixMachineConfig) ConvertConfigToConfigGenerateStruct() *NutanixMachineConfigGenerate

ConvertConfigToConfigGenerateStruct converts the NutanixMachineConfig to NutanixMachineConfigGenerate.

func (*NutanixMachineConfig) DeepCopy added in v0.12.0

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

func (*NutanixMachineConfig) DeepCopyInto added in v0.12.0

func (in *NutanixMachineConfig) DeepCopyInto(out *NutanixMachineConfig)

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

func (*NutanixMachineConfig) DeepCopyObject added in v0.12.0

func (in *NutanixMachineConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NutanixMachineConfig) GetName added in v0.12.0

func (in *NutanixMachineConfig) GetName() string

GetName returns the name of the NutanixMachineConfig.

func (*NutanixMachineConfig) GetNamespace added in v0.12.0

func (in *NutanixMachineConfig) GetNamespace() string

GetNamespace returns the namespace of the NutanixMachineConfig.

func (*NutanixMachineConfig) IsControlPlane added in v0.12.0

func (in *NutanixMachineConfig) IsControlPlane() bool

IsControlPlane returns true if the NutanixMachineConfig is a control plane node.

func (*NutanixMachineConfig) IsEtcd added in v0.12.0

func (in *NutanixMachineConfig) IsEtcd() bool

IsEtcd returns true if the NutanixMachineConfig is an etcd node.

func (*NutanixMachineConfig) IsManaged added in v0.12.0

func (in *NutanixMachineConfig) IsManaged() bool

IsManaged returns true if the NutanixMachineConfig is managed by a cluster.

func (*NutanixMachineConfig) IsReconcilePaused added in v0.12.0

func (in *NutanixMachineConfig) IsReconcilePaused() bool

IsReconcilePaused returns true if the NutanixMachineConfig is paused.

func (*NutanixMachineConfig) Marshallable added in v0.12.0

func (in *NutanixMachineConfig) Marshallable() Marshallable

Marshallable returns a Marshallable version of the NutanixMachineConfig.

func (*NutanixMachineConfig) OSFamily added in v0.12.0

func (in *NutanixMachineConfig) OSFamily() OSFamily

OSFamily returns the OSFamily of the NutanixMachineConfig.

func (*NutanixMachineConfig) PauseReconcile added in v0.12.0

func (in *NutanixMachineConfig) PauseReconcile()

PauseReconcile pauses the reconciliation of the NutanixMachineConfig.

func (*NutanixMachineConfig) SetControlPlane added in v0.12.0

func (in *NutanixMachineConfig) SetControlPlane()

SetControlPlane sets the NutanixMachineConfig as a control plane node.

func (*NutanixMachineConfig) SetDefaults added in v0.13.0

func (in *NutanixMachineConfig) SetDefaults()

SetDefaults sets defaults to NutanixMachineConfig if user has not provided.

func (*NutanixMachineConfig) SetEtcd added in v0.12.0

func (in *NutanixMachineConfig) SetEtcd()

SetEtcd sets the NutanixMachineConfig as an etcd node.

func (*NutanixMachineConfig) SetManagedBy added in v0.12.0

func (in *NutanixMachineConfig) SetManagedBy(clusterName string)

SetManagedBy sets the cluster name that manages the NutanixMachineConfig.

func (*NutanixMachineConfig) SetupWebhookWithManager added in v0.15.0

func (in *NutanixMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*NutanixMachineConfig) Users added in v0.18.0

Users returns a list of configuration for OS users.

func (*NutanixMachineConfig) Validate added in v0.15.0

func (in *NutanixMachineConfig) Validate() error

Validate validates the NutanixMachineConfig.

func (*NutanixMachineConfig) ValidateCreate added in v0.15.0

func (in *NutanixMachineConfig) ValidateCreate() (admission.Warnings, error)

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

func (*NutanixMachineConfig) ValidateDelete added in v0.15.0

func (in *NutanixMachineConfig) ValidateDelete() (admission.Warnings, error)

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

func (*NutanixMachineConfig) ValidateUpdate added in v0.15.0

func (in *NutanixMachineConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type NutanixMachineConfigGenerate added in v0.12.0

type NutanixMachineConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec NutanixMachineConfigSpec `json:"spec,omitempty"`
}

NutanixMachineConfigGenerate is same as NutanixMachineConfig except stripped down for generation of yaml file during generate clusterconfig

+kubebuilder:object:generate=false

func NewNutanixMachineConfigGenerate added in v0.12.0

func NewNutanixMachineConfigGenerate(name string, opts ...NutanixMachineConfigGenerateOpt) *NutanixMachineConfigGenerate

NewNutanixMachineConfigGenerate returns a new instance of NutanixMachineConfigGenerate used for generating yaml for generate clusterconfig command.

func (*NutanixMachineConfigGenerate) APIVersion added in v0.12.0

func (c *NutanixMachineConfigGenerate) APIVersion() string

func (*NutanixMachineConfigGenerate) Kind added in v0.12.0

func (*NutanixMachineConfigGenerate) Name added in v0.12.0

type NutanixMachineConfigGenerateOpt added in v0.12.0

type NutanixMachineConfigGenerateOpt func(config *NutanixMachineConfigGenerate)

NutanixMachineConfigGenerateOpt is a functional option that can be passed to NewNutanixMachineConfigGenerate to customize the generated machine config

+kubebuilder:object:generate=false

type NutanixMachineConfigList added in v0.12.0

type NutanixMachineConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NutanixMachineConfig `json:"items"`
}

NutanixMachineConfigList contains a list of NutanixMachineConfig

+kubebuilder:object:root=true

func (*NutanixMachineConfigList) DeepCopy added in v0.12.0

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

func (*NutanixMachineConfigList) DeepCopyInto added in v0.12.0

func (in *NutanixMachineConfigList) DeepCopyInto(out *NutanixMachineConfigList)

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

func (*NutanixMachineConfigList) DeepCopyObject added in v0.12.0

func (in *NutanixMachineConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NutanixMachineConfigSpec added in v0.12.0

type NutanixMachineConfigSpec struct {
	OSFamily OSFamily            `json:"osFamily"`
	Users    []UserConfiguration `json:"users,omitempty"`
	// vcpusPerSocket is the number of vCPUs per socket of the VM
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	VCPUsPerSocket int32 `json:"vcpusPerSocket"`
	// vcpuSockets is the number of vCPU sockets of the VM
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	VCPUSockets int32 `json:"vcpuSockets"`
	// memorySize is the memory size (in Quantity format) of the VM
	// The minimum memorySize is 2Gi bytes
	// +kubebuilder:validation:Required
	MemorySize resource.Quantity `json:"memorySize"`
	// image is to identify the OS image uploaded to the Prism Central (PC)
	// The image identifier (uuid or name) can be obtained from the Prism Central console
	// or using the Prism Central API.
	// It must include the Kubernetes version(s). For example, a template used for
	// Kubernetes 1.27 could be ubuntu-2204-1.27.
	// +kubebuilder:validation:Required
	Image NutanixResourceIdentifier `json:"image"`
	// cluster is to identify the cluster (the Prism Element under management
	// of the Prism Central), in which the Machine's VM will be created.
	// The cluster identifier (uuid or name) can be obtained from the Prism Central console
	// or using the prism_central API.
	// +kubebuilder:validation:Required
	Cluster NutanixResourceIdentifier `json:"cluster"`
	// subnet is to identify the cluster's network subnet to use for the Machine's VM
	// The cluster identifier (uuid or name) can be obtained from the Prism Central console
	// or using the Prism Central API.
	// +kubebuilder:validation:Required
	Subnet NutanixResourceIdentifier `json:"subnet"`
	// Project is an optional property that specifies the Prism Central project so that machine resources
	// can be linked to it. The project identifier (uuid or name) can be obtained from the Prism Central console
	// or using the Prism Central API.
	// +optional
	Project *NutanixResourceIdentifier `json:"project,omitempty"`

	// systemDiskSize is size (in Quantity format) of the system disk of the VM
	// The minimum systemDiskSize is 20Gi bytes
	// +kubebuilder:validation:Required
	SystemDiskSize resource.Quantity `json:"systemDiskSize"`

	// additionalCategories is a list of optional categories to be added to the VM.
	// Categories must be created in Prism Central before they can be used.
	// +kubebuilder:validation:Optional
	AdditionalCategories []NutanixCategoryIdentifier `json:"additionalCategories,omitempty"`
}

NutanixMachineConfigSpec defines the desired state of NutanixMachineConfig.

func (*NutanixMachineConfigSpec) DeepCopy added in v0.12.0

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

func (*NutanixMachineConfigSpec) DeepCopyInto added in v0.12.0

func (in *NutanixMachineConfigSpec) DeepCopyInto(out *NutanixMachineConfigSpec)

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

type NutanixMachineConfigStatus added in v0.12.0

type NutanixMachineConfigStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the Nutanix VM associated addresses.
	// Address type is one of Hostname, ExternalIP, InternalIP, ExternalDNS, InternalDNS
	Addresses []capiv1.MachineAddress `json:"addresses,omitempty"`

	// The Nutanix VM's UUID
	// +optional
	VmUUID *string `json:"vmUUID,omitempty"`

	// NodeRef is a reference to the corresponding workload cluster Node if it exists.
	// +optional
	NodeRef *corev1.ObjectReference `json:"nodeRef,omitempty"`

	// Conditions defines current service state of the NutanixMachine.
	// +optional
	Conditions capiv1.Conditions `json:"conditions,omitempty"`
}

NutanixMachineConfigStatus defines the observed state of NutanixMachineConfig.

func (*NutanixMachineConfigStatus) DeepCopy added in v0.12.0

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

func (*NutanixMachineConfigStatus) DeepCopyInto added in v0.12.0

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

type NutanixResourceIdentifier added in v0.12.0

type NutanixResourceIdentifier struct {
	// Type is the identifier type to use for this resource.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum:=uuid;name
	Type NutanixIdentifierType `json:"type"`

	// uuid is the UUID of the resource in the PC.
	// +optional
	UUID *string `json:"uuid,omitempty"`

	// name is the resource name in the PC
	// +optional
	Name *string `json:"name,omitempty"`
}

NutanixResourceIdentifier holds the identity of a Nutanix Prism resource (cluster, image, subnet, etc.)

+union.

func (*NutanixResourceIdentifier) DeepCopy added in v0.12.0

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

func (*NutanixResourceIdentifier) DeepCopyInto added in v0.12.0

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

type OCINamespace added in v0.13.0

type OCINamespace struct {
	// Registry refers to the name of the upstream registry
	Registry string `json:"registry"`
	// Namespace refers to the name of a namespace in the local registry
	Namespace string `json:"namespace"`
}

OCINamespace represents an entity in a local reigstry to group related images.

func (*OCINamespace) DeepCopy added in v0.13.0

func (in *OCINamespace) DeepCopy() *OCINamespace

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

func (*OCINamespace) DeepCopyInto added in v0.13.0

func (in *OCINamespace) DeepCopyInto(out *OCINamespace)

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

type OIDCConfig

type OIDCConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OIDCConfigSpec   `json:"spec,omitempty"`
	Status OIDCConfigStatus `json:"status,omitempty"`
}

OIDCConfig is the Schema for the oidcconfigs API.

func GetAndValidateOIDCConfig

func GetAndValidateOIDCConfig(fileName string, refName string, clusterConfig *Cluster) (*OIDCConfig, error)

func (*OIDCConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *OIDCConfig) ConvertConfigToConfigGenerateStruct() *OIDCConfigGenerate

func (*OIDCConfig) DeepCopy

func (in *OIDCConfig) DeepCopy() *OIDCConfig

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

func (*OIDCConfig) DeepCopyInto

func (in *OIDCConfig) DeepCopyInto(out *OIDCConfig)

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

func (*OIDCConfig) DeepCopyObject

func (in *OIDCConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*OIDCConfig) ExpectedKind

func (c *OIDCConfig) ExpectedKind() string

func (*OIDCConfig) IsManaged added in v0.8.0

func (c *OIDCConfig) IsManaged() bool

IsManaged returns true if the oidcconfig is associated with a workload cluster.

func (*OIDCConfig) Kind

func (c *OIDCConfig) Kind() string

func (*OIDCConfig) SetManagedBy added in v0.8.0

func (c *OIDCConfig) SetManagedBy(clusterName string)

func (*OIDCConfig) SetupWebhookWithManager

func (r *OIDCConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*OIDCConfig) Validate added in v0.8.0

func (c *OIDCConfig) Validate() field.ErrorList

func (*OIDCConfig) ValidateCreate

func (r *OIDCConfig) ValidateCreate() (admission.Warnings, error)

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

func (*OIDCConfig) ValidateDelete

func (r *OIDCConfig) ValidateDelete() (admission.Warnings, error)

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

func (*OIDCConfig) ValidateUpdate

func (r *OIDCConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type OIDCConfigGenerate added in v0.6.0

type OIDCConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec OIDCConfigSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as OIDCConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.

type OIDCConfigList

type OIDCConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OIDCConfig `json:"items"`
}

OIDCConfigList contains a list of OIDCConfig.

func (*OIDCConfigList) DeepCopy

func (in *OIDCConfigList) DeepCopy() *OIDCConfigList

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

func (*OIDCConfigList) DeepCopyInto

func (in *OIDCConfigList) DeepCopyInto(out *OIDCConfigList)

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

func (*OIDCConfigList) DeepCopyObject

func (in *OIDCConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OIDCConfigRequiredClaim

type OIDCConfigRequiredClaim struct {
	Claim string `json:"claim,omitempty"`
	Value string `json:"value,omitempty"`
}

func (*OIDCConfigRequiredClaim) DeepCopy

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

func (*OIDCConfigRequiredClaim) DeepCopyInto

func (in *OIDCConfigRequiredClaim) DeepCopyInto(out *OIDCConfigRequiredClaim)

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

type OIDCConfigSpec

type OIDCConfigSpec struct {
	// ClientId defines the client ID for the OpenID Connect client
	ClientId string `json:"clientId,omitempty"`
	// +kubebuilder:validation:Optional
	// GroupsClaim defines the name of a custom OpenID Connect claim for specifying user groups
	GroupsClaim string `json:"groupsClaim,omitempty"`
	// +kubebuilder:validation:Optional
	// GroupsPrefix defines a string to be prefixed to all groups to prevent conflicts with other authentication strategies
	GroupsPrefix string `json:"groupsPrefix,omitempty"`
	// IssuerUrl defines the URL of the OpenID issuer, only HTTPS scheme will be accepted
	IssuerUrl string `json:"issuerUrl,omitempty"`
	// +kubebuilder:validation:Optional
	// RequiredClaims defines a key=value pair that describes a required claim in the ID Token
	RequiredClaims []OIDCConfigRequiredClaim `json:"requiredClaims,omitempty"`
	// +kubebuilder:validation:Optional
	// UsernameClaim defines the OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable
	UsernameClaim string `json:"usernameClaim,omitempty"`
	// +kubebuilder:validation:Optional
	// UsernamePrefix defines a string to prefixed to all usernames. If not provided, username claims other than 'email' are prefixed by the issuer URL to avoid clashes. To skip any prefixing, provide the value '-'.
	UsernamePrefix string `json:"usernamePrefix,omitempty"`
}

OIDCConfigSpec defines the desired state of OIDCConfig.

func (*OIDCConfigSpec) DeepCopy

func (in *OIDCConfigSpec) DeepCopy() *OIDCConfigSpec

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

func (*OIDCConfigSpec) DeepCopyInto

func (in *OIDCConfigSpec) DeepCopyInto(out *OIDCConfigSpec)

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

func (*OIDCConfigSpec) Equal

func (e *OIDCConfigSpec) Equal(n *OIDCConfigSpec) bool

type OIDCConfigStatus

type OIDCConfigStatus struct{}

OIDCConfigStatus defines the observed state of OIDCConfig.

func (*OIDCConfigStatus) DeepCopy

func (in *OIDCConfigStatus) DeepCopy() *OIDCConfigStatus

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

func (*OIDCConfigStatus) DeepCopyInto

func (in *OIDCConfigStatus) DeepCopyInto(out *OIDCConfigStatus)

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

type OSFamily

type OSFamily string
const (
	Ubuntu       OSFamily = "ubuntu"
	Bottlerocket OSFamily = "bottlerocket"
	RedHat       OSFamily = "redhat"
)

type ObjectMeta

type ObjectMeta struct {
	Name        string            `json:"name,omitempty"`
	Namespace   string            `json:"namespace,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
}

Need to override metav1.ObjectMeta as a hack due to the following issue of creationTimestamp being printed: https://github.com/kubernetes/kubernetes/issues/86811 Add more fields based on https://github.com/kubernetes/apimachinery/blob/master/pkg/apis/meta/v1/types.go#L114-L288 and https://github.com/kubernetes-sigs/cluster-api/blob/bf790fc2a53614ff5d3405c83c0de0dd3303bb1f/api/v1alpha2/common_types.go#L67-L128 as needed.

func (*ObjectMeta) DeepCopy

func (in *ObjectMeta) DeepCopy() *ObjectMeta

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

func (*ObjectMeta) DeepCopyInto

func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)

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

type PackageConfiguration added in v0.15.0

type PackageConfiguration struct {
	// Disable package controller on cluster
	Disable bool `json:"disable,omitempty"`

	// Controller package controller configuration
	Controller *PackageControllerConfiguration `json:"controller,omitempty"`

	// Cronjob for ecr token refresher
	CronJob *PackageControllerCronJob `json:"cronjob,omitempty"`
}

PackageConfiguration for installing EKS Anywhere curated packages.

func (*PackageConfiguration) DeepCopy added in v0.15.0

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

func (*PackageConfiguration) DeepCopyInto added in v0.15.0

func (in *PackageConfiguration) DeepCopyInto(out *PackageConfiguration)

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

func (*PackageConfiguration) Equal added in v0.15.0

Equal for PackageConfiguration.

type PackageControllerConfiguration added in v0.15.0

type PackageControllerConfiguration struct {
	// Repository package controller repository
	Repository string `json:"repository,omitempty"`

	// Tag package controller tag
	Tag string `json:"tag,omitempty"`

	// Digest package controller digest
	Digest string `json:"digest,omitempty"`

	// DisableWebhooks on package controller
	DisableWebhooks bool `json:"disableWebhooks,omitempty"`

	// Env of package controller in the format `key=value`
	Env []string `json:"env,omitempty"`

	// Resources of package controller
	Resources PackageControllerResources `json:"resources,omitempty"`
}

PackageControllerConfiguration configure aspects of package controller.

func (*PackageControllerConfiguration) DeepCopy added in v0.15.0

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

func (*PackageControllerConfiguration) DeepCopyInto added in v0.15.0

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

func (*PackageControllerConfiguration) Equal added in v0.15.0

Equal for PackageControllerConfiguration.

type PackageControllerCronJob added in v0.15.0

type PackageControllerCronJob struct {
	// Repository ecr token refresher repository
	Repository string `json:"repository,omitempty"`

	// Tag ecr token refresher tag
	Tag string `json:"tag,omitempty"`

	// Digest ecr token refresher digest
	Digest string `json:"digest,omitempty"`

	// Disable on cron job
	Disable bool `json:"disable,omitempty"`
}

PackageControllerCronJob configure aspects of package controller.

func (*PackageControllerCronJob) DeepCopy added in v0.15.0

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

func (*PackageControllerCronJob) DeepCopyInto added in v0.15.0

func (in *PackageControllerCronJob) DeepCopyInto(out *PackageControllerCronJob)

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

func (*PackageControllerCronJob) Equal added in v0.15.0

Equal for PackageControllerCronJob.

type PackageControllerResources added in v0.15.0

type PackageControllerResources struct {
	// Requests for image resources
	Requests ImageResource `json:"requests,omitempty"`
	Limits   ImageResource `json:"limits,omitempty"`
}

PackageControllerResources resource aspects of package controller.

func (*PackageControllerResources) DeepCopy added in v0.15.0

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

func (*PackageControllerResources) DeepCopyInto added in v0.15.0

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

func (*PackageControllerResources) Equal added in v0.15.0

Equal for PackageControllerResources.

type PhysicalNetworkConnectorType added in v0.8.0

type PhysicalNetworkConnectorType string
const (
	SFPPlus PhysicalNetworkConnectorType = "SFP_PLUS"
	QSFP    PhysicalNetworkConnectorType = "QSFP"
	RJ45    PhysicalNetworkConnectorType = "RJ45"
)

type PodIAMConfig added in v0.6.1

type PodIAMConfig struct {
	ServiceAccountIssuer string `json:"serviceAccountIssuer"`
}

func (*PodIAMConfig) DeepCopy added in v0.7.0

func (in *PodIAMConfig) DeepCopy() *PodIAMConfig

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

func (*PodIAMConfig) DeepCopyInto added in v0.7.0

func (in *PodIAMConfig) DeepCopyInto(out *PodIAMConfig)

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

func (*PodIAMConfig) Equal added in v0.6.1

func (n *PodIAMConfig) Equal(o *PodIAMConfig) bool

type Pods

type Pods struct {
	CidrBlocks []string `json:"cidrBlocks,omitempty"`
}

func (*Pods) DeepCopy

func (in *Pods) DeepCopy() *Pods

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

func (*Pods) DeepCopyInto

func (in *Pods) DeepCopyInto(out *Pods)

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

func (*Pods) Equal added in v0.8.0

func (n *Pods) Equal(o *Pods) bool

type ProviderRefAccessor

type ProviderRefAccessor interface {
	Kind() string
	Name() string
}

+kubebuilder:object:generate=false Interface for getting DatacenterRef fields for Cluster type.

type ProxyConfiguration

type ProxyConfiguration struct {
	HttpProxy  string   `json:"httpProxy,omitempty"`
	HttpsProxy string   `json:"httpsProxy,omitempty"`
	NoProxy    []string `json:"noProxy,omitempty"`
}

func (*ProxyConfiguration) DeepCopy

func (in *ProxyConfiguration) DeepCopy() *ProxyConfiguration

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

func (*ProxyConfiguration) DeepCopyInto

func (in *ProxyConfiguration) DeepCopyInto(out *ProxyConfiguration)

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

func (*ProxyConfiguration) Equal

type Ref

type Ref struct {
	Kind string `json:"kind,omitempty"`
	Name string `json:"name,omitempty"`
}

func (*Ref) DeepCopy

func (in *Ref) DeepCopy() *Ref

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

func (*Ref) DeepCopyInto

func (in *Ref) DeepCopyInto(out *Ref)

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

func (*Ref) Equal

func (n *Ref) Equal(o *Ref) bool

func (Ref) IsEmpty added in v0.19.4

func (n Ref) IsEmpty() bool

IsEmpty checks if the given ref object is empty.

type RegistryMirrorConfiguration added in v0.6.0

type RegistryMirrorConfiguration struct {
	// Endpoint defines the registry mirror endpoint to use for pulling images
	Endpoint string `json:"endpoint,omitempty"`

	// Port defines the port exposed for registry mirror endpoint
	Port string `json:"port,omitempty"`

	// OCINamespaces defines the mapping from an upstream registry to a local namespace where upstream
	// artifacts are placed into
	OCINamespaces []OCINamespace `json:"ociNamespaces,omitempty"`

	// CACertContent defines the contents registry mirror CA certificate
	CACertContent string `json:"caCertContent,omitempty"`

	// Authenticate defines if registry requires authentication
	Authenticate bool `json:"authenticate,omitempty"`

	// InsecureSkipVerify skips the registry certificate verification.
	// Only use this solution for isolated testing or in a tightly controlled, air-gapped environment.
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}

RegistryMirrorConfiguration defines the settings for image registry mirror.

func (*RegistryMirrorConfiguration) DeepCopy added in v0.6.0

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

func (*RegistryMirrorConfiguration) DeepCopyInto added in v0.6.0

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

func (*RegistryMirrorConfiguration) Equal added in v0.6.0

type ResolvConf added in v0.7.0

type ResolvConf struct {
	// Path defines the path to the file that contains the DNS resolver configuration
	Path string `json:"path,omitempty"`
}

func (*ResolvConf) DeepCopy added in v0.7.0

func (in *ResolvConf) DeepCopy() *ResolvConf

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

func (*ResolvConf) DeepCopyInto added in v0.7.0

func (in *ResolvConf) DeepCopyInto(out *ResolvConf)

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

func (*ResolvConf) Equal added in v0.7.0

func (n *ResolvConf) Equal(o *ResolvConf) bool

type Services

type Services struct {
	CidrBlocks []string `json:"cidrBlocks,omitempty"`
}

func (*Services) DeepCopy

func (in *Services) DeepCopy() *Services

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

func (*Services) DeepCopyInto

func (in *Services) DeepCopyInto(out *Services)

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

func (*Services) Equal added in v0.8.0

func (n *Services) Equal(o *Services) bool

type SnowDatacenterConfig added in v0.8.0

type SnowDatacenterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SnowDatacenterConfigSpec   `json:"spec,omitempty"`
	Status SnowDatacenterConfigStatus `json:"status,omitempty"`
}

SnowDatacenterConfig is the Schema for the SnowDatacenterConfigs API.

func GetSnowDatacenterConfig added in v0.8.0

func GetSnowDatacenterConfig(fileName string) (*SnowDatacenterConfig, error)

func (*SnowDatacenterConfig) ClearPauseAnnotation added in v0.8.0

func (s *SnowDatacenterConfig) ClearPauseAnnotation()

func (*SnowDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (s *SnowDatacenterConfig) ConvertConfigToConfigGenerateStruct() *SnowDatacenterConfigGenerate

func (*SnowDatacenterConfig) DeepCopy added in v0.8.0

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

func (*SnowDatacenterConfig) DeepCopyInto added in v0.8.0

func (in *SnowDatacenterConfig) DeepCopyInto(out *SnowDatacenterConfig)

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

func (*SnowDatacenterConfig) DeepCopyObject added in v0.8.0

func (in *SnowDatacenterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SnowDatacenterConfig) ExpectedKind added in v0.8.0

func (s *SnowDatacenterConfig) ExpectedKind() string

func (*SnowDatacenterConfig) Kind added in v0.8.0

func (s *SnowDatacenterConfig) Kind() string

func (*SnowDatacenterConfig) Marshallable added in v0.8.0

func (s *SnowDatacenterConfig) Marshallable() Marshallable

func (*SnowDatacenterConfig) PauseReconcile added in v0.8.0

func (s *SnowDatacenterConfig) PauseReconcile()

func (*SnowDatacenterConfig) SetupWebhookWithManager added in v0.12.0

func (r *SnowDatacenterConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*SnowDatacenterConfig) Validate added in v0.12.0

func (s *SnowDatacenterConfig) Validate() error

func (*SnowDatacenterConfig) ValidateCreate added in v0.12.0

func (r *SnowDatacenterConfig) ValidateCreate() (admission.Warnings, error)

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

func (*SnowDatacenterConfig) ValidateDelete added in v0.12.0

func (r *SnowDatacenterConfig) ValidateDelete() (admission.Warnings, error)

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

func (*SnowDatacenterConfig) ValidateUpdate added in v0.12.0

func (r *SnowDatacenterConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type SnowDatacenterConfigGenerate added in v0.8.0

type SnowDatacenterConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec SnowDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as SnowDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewSnowDatacenterConfigGenerate added in v0.8.0

func NewSnowDatacenterConfigGenerate(clusterName string) *SnowDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*SnowDatacenterConfigGenerate) APIVersion added in v0.8.0

func (s *SnowDatacenterConfigGenerate) APIVersion() string

func (*SnowDatacenterConfigGenerate) Kind added in v0.8.0

func (*SnowDatacenterConfigGenerate) Name added in v0.8.0

type SnowDatacenterConfigList added in v0.9.2

type SnowDatacenterConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SnowDatacenterConfig `json:"items"`
}

SnowDatacenterConfigList contains a list of SnowDatacenterConfig.

func (*SnowDatacenterConfigList) DeepCopy added in v0.9.2

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

func (*SnowDatacenterConfigList) DeepCopyInto added in v0.9.2

func (in *SnowDatacenterConfigList) DeepCopyInto(out *SnowDatacenterConfigList)

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

func (*SnowDatacenterConfigList) DeepCopyObject added in v0.9.2

func (in *SnowDatacenterConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SnowDatacenterConfigSpec added in v0.8.0

type SnowDatacenterConfigSpec struct {

	// IdentityRef is a reference to an identity for the Snow API to be used when reconciling this cluster
	IdentityRef Ref `json:"identityRef,omitempty"`
}

SnowDatacenterConfigSpec defines the desired state of SnowDatacenterConfig.

func (*SnowDatacenterConfigSpec) DeepCopy added in v0.8.0

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

func (*SnowDatacenterConfigSpec) DeepCopyInto added in v0.8.0

func (in *SnowDatacenterConfigSpec) DeepCopyInto(out *SnowDatacenterConfigSpec)

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

type SnowDatacenterConfigStatus added in v0.8.0

type SnowDatacenterConfigStatus struct{}

SnowDatacenterConfigStatus defines the observed state of SnowDatacenterConfig.

func (*SnowDatacenterConfigStatus) DeepCopy added in v0.8.0

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

func (*SnowDatacenterConfigStatus) DeepCopyInto added in v0.8.0

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

type SnowDirectNetworkInterface added in v0.14.0

type SnowDirectNetworkInterface struct {
	// Index is the index number of DNI used to clarify the position in the list. Usually starts with 1.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=8
	// +optional
	Index int `json:"index,omitempty"`

	// VlanID is the vlan id assigned by the user for the DNI.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=4095
	// +optional
	VlanID *int32 `json:"vlanID,omitempty"`

	// DHCP defines whether DHCP is used to assign ip for the DNI.
	// +optional
	DHCP bool `json:"dhcp,omitempty"`

	// IPPool contains a reference to a snow ip pool which provides a range of ip addresses.
	// When specified, an ip address selected from the pool is allocated to this DNI.
	// +optional
	IPPoolRef *Ref `json:"ipPoolRef,omitempty"`

	// Primary indicates whether the DNI is primary or not.
	// +optional
	Primary bool `json:"primary,omitempty"`
}

SnowDirectNetworkInterface defines a direct network interface (DNI) configuration.

func (*SnowDirectNetworkInterface) DeepCopy added in v0.14.0

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

func (*SnowDirectNetworkInterface) DeepCopyInto added in v0.14.0

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

type SnowIPPool added in v0.14.0

type SnowIPPool struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SnowIPPoolSpec   `json:"spec,omitempty"`
	Status SnowIPPoolStatus `json:"status,omitempty"`
}

SnowIPPool is the Schema for the SnowIPPools API.

func (*SnowIPPool) ConvertConfigToConfigGenerateStruct added in v0.14.0

func (s *SnowIPPool) ConvertConfigToConfigGenerateStruct() *SnowIPPoolGenerate

ConvertConfigToConfigGenerateStruct converts a SnowIPPool to SnowIPPoolGenerate object.

func (*SnowIPPool) DeepCopy added in v0.14.0

func (in *SnowIPPool) DeepCopy() *SnowIPPool

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

func (*SnowIPPool) DeepCopyInto added in v0.14.0

func (in *SnowIPPool) DeepCopyInto(out *SnowIPPool)

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

func (*SnowIPPool) DeepCopyObject added in v0.14.0

func (in *SnowIPPool) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SnowIPPool) SetupWebhookWithManager added in v0.14.0

func (r *SnowIPPool) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up the webhook manager for SnowIPPool.

func (*SnowIPPool) Validate added in v0.14.1

func (s *SnowIPPool) Validate() error

Validate validates the fields in a SnowIPPool object.

func (*SnowIPPool) ValidateCreate added in v0.14.0

func (r *SnowIPPool) ValidateCreate() (admission.Warnings, error)

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

func (*SnowIPPool) ValidateDelete added in v0.14.0

func (r *SnowIPPool) ValidateDelete() (admission.Warnings, error)

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

func (*SnowIPPool) ValidateUpdate added in v0.14.0

func (r *SnowIPPool) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type SnowIPPoolGenerate added in v0.14.0

type SnowIPPoolGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec SnowIPPoolSpec `json:"spec,omitempty"`
}

SnowIPPoolGenerate is same as SnowIPPool except stripped down for generation of yaml file during generate clusterconfig.

type SnowIPPoolList added in v0.14.0

type SnowIPPoolList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SnowIPPool `json:"items"`
}

SnowIPPoolList contains a list of SnowIPPool.

func (*SnowIPPoolList) DeepCopy added in v0.14.0

func (in *SnowIPPoolList) DeepCopy() *SnowIPPoolList

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

func (*SnowIPPoolList) DeepCopyInto added in v0.14.0

func (in *SnowIPPoolList) DeepCopyInto(out *SnowIPPoolList)

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

func (*SnowIPPoolList) DeepCopyObject added in v0.14.0

func (in *SnowIPPoolList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SnowIPPoolSpec added in v0.14.0

type SnowIPPoolSpec struct {
	// IPPools defines a list of ip pool for the DNI.
	Pools []IPPool `json:"pools,omitempty"`
}

SnowIPPoolSpec defines the desired state of SnowIPPool.

func (*SnowIPPoolSpec) DeepCopy added in v0.14.0

func (in *SnowIPPoolSpec) DeepCopy() *SnowIPPoolSpec

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

func (*SnowIPPoolSpec) DeepCopyInto added in v0.14.0

func (in *SnowIPPoolSpec) DeepCopyInto(out *SnowIPPoolSpec)

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

type SnowIPPoolStatus added in v0.14.0

type SnowIPPoolStatus struct{}

SnowIPPoolStatus defines the observed state of SnowIPPool.

func (*SnowIPPoolStatus) DeepCopy added in v0.14.0

func (in *SnowIPPoolStatus) DeepCopy() *SnowIPPoolStatus

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

func (*SnowIPPoolStatus) DeepCopyInto added in v0.14.0

func (in *SnowIPPoolStatus) DeepCopyInto(out *SnowIPPoolStatus)

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

type SnowMachineConfig added in v0.8.0

type SnowMachineConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SnowMachineConfigSpec   `json:"spec,omitempty"`
	Status SnowMachineConfigStatus `json:"status,omitempty"`
}

SnowMachineConfig is the Schema for the SnowMachineConfigs API.

func (*SnowMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (s *SnowMachineConfig) ConvertConfigToConfigGenerateStruct() *SnowMachineConfigGenerate

func (*SnowMachineConfig) DeepCopy added in v0.8.0

func (in *SnowMachineConfig) DeepCopy() *SnowMachineConfig

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

func (*SnowMachineConfig) DeepCopyInto added in v0.8.0

func (in *SnowMachineConfig) DeepCopyInto(out *SnowMachineConfig)

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

func (*SnowMachineConfig) DeepCopyObject added in v0.8.0

func (in *SnowMachineConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SnowMachineConfig) Default added in v0.11.0

func (r *SnowMachineConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*SnowMachineConfig) IPPoolRefs added in v0.14.0

func (s *SnowMachineConfig) IPPoolRefs() []Ref

IPPoolRefs returns a slice of snow IP pools that belongs to a snowMachineConfig.

func (*SnowMachineConfig) Marshallable added in v0.8.0

func (s *SnowMachineConfig) Marshallable() Marshallable

func (*SnowMachineConfig) OSFamily added in v0.8.0

func (s *SnowMachineConfig) OSFamily() OSFamily

func (*SnowMachineConfig) SetControlPlaneAnnotation added in v0.9.0

func (s *SnowMachineConfig) SetControlPlaneAnnotation()

func (*SnowMachineConfig) SetDefaults added in v0.8.0

func (s *SnowMachineConfig) SetDefaults()

func (*SnowMachineConfig) SetEtcdAnnotation added in v0.9.0

func (s *SnowMachineConfig) SetEtcdAnnotation()

func (*SnowMachineConfig) SetManagedBy added in v0.8.0

func (s *SnowMachineConfig) SetManagedBy(clusterName string)

func (*SnowMachineConfig) SetupWebhookWithManager added in v0.11.0

func (r *SnowMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*SnowMachineConfig) Validate added in v0.8.0

func (s *SnowMachineConfig) Validate() error

func (*SnowMachineConfig) ValidateCreate added in v0.11.0

func (r *SnowMachineConfig) ValidateCreate() (admission.Warnings, error)

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

func (*SnowMachineConfig) ValidateDelete added in v0.11.0

func (r *SnowMachineConfig) ValidateDelete() (admission.Warnings, error)

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

func (*SnowMachineConfig) ValidateHasSSHKeyName added in v0.14.0

func (s *SnowMachineConfig) ValidateHasSSHKeyName() error

ValidateHasSSHKeyName verifies a SnowMachineConfig object must have a SshKeyName. This validation only runs in SnowMachineConfig validation webhook, as we support auto-generate and import ssh key when creating a cluster via CLI.

func (*SnowMachineConfig) ValidateUpdate added in v0.11.0

func (r *SnowMachineConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type SnowMachineConfigGenerate added in v0.8.0

type SnowMachineConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec SnowMachineConfigSpec `json:"spec,omitempty"`
}

Same as SnowMachineConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewSnowMachineConfigGenerate added in v0.8.0

func NewSnowMachineConfigGenerate(name string) *SnowMachineConfigGenerate

NewSnowMachineConfigGenerate generates snowMachineConfig example for generate clusterconfig command.

func (*SnowMachineConfigGenerate) APIVersion added in v0.8.0

func (s *SnowMachineConfigGenerate) APIVersion() string

func (*SnowMachineConfigGenerate) Kind added in v0.8.0

func (*SnowMachineConfigGenerate) Name added in v0.8.0

type SnowMachineConfigList added in v0.9.2

type SnowMachineConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SnowMachineConfig `json:"items"`
}

SnowMachineConfigList contains a list of SnowMachineConfig.

func (*SnowMachineConfigList) DeepCopy added in v0.9.2

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

func (*SnowMachineConfigList) DeepCopyInto added in v0.9.2

func (in *SnowMachineConfigList) DeepCopyInto(out *SnowMachineConfigList)

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

func (*SnowMachineConfigList) DeepCopyObject added in v0.9.2

func (in *SnowMachineConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SnowMachineConfigSpec added in v0.8.0

type SnowMachineConfigSpec struct {

	// The AMI ID from which to create the machine instance.
	AMIID string `json:"amiID,omitempty"`

	// InstanceType is the type of instance to create.
	InstanceType string `json:"instanceType,omitempty"`

	// PhysicalNetworkConnector is the physical network connector type to use for creating direct network interfaces (DNI).
	// Valid values: "SFP_PLUS" (default), "QSFP" and "RJ45".
	PhysicalNetworkConnector PhysicalNetworkConnectorType `json:"physicalNetworkConnector,omitempty"`

	// SSHKeyName is the name of the ssh key defined in the aws snow key pairs, to attach to the instance.
	SshKeyName string `json:"sshKeyName,omitempty"`

	// Devices contains a device ip list assigned by the user to provision machines.
	Devices []string `json:"devices,omitempty"`

	// ContainersVolume provides the configuration options for the containers data storage volume.
	ContainersVolume *snowv1.Volume `json:"containersVolume,omitempty"`

	// NonRootVolumes provides the configuration options for the non root storage volumes.
	NonRootVolumes []*snowv1.Volume `json:"nonRootVolumes,omitempty"`

	// OSFamily is the node instance OS.
	// Valid values: "bottlerocket" and "ubuntu".
	OSFamily OSFamily `json:"osFamily,omitempty"`

	// Network provides the custom network setting for the machine.
	Network SnowNetwork `json:"network"`

	// HostOSConfiguration provides OS specific configurations for the machine
	HostOSConfiguration *HostOSConfiguration `json:"hostOSConfiguration,omitempty"`
}

SnowMachineConfigSpec defines the desired state of SnowMachineConfigSpec.

func (*SnowMachineConfigSpec) DeepCopy added in v0.8.0

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

func (*SnowMachineConfigSpec) DeepCopyInto added in v0.8.0

func (in *SnowMachineConfigSpec) DeepCopyInto(out *SnowMachineConfigSpec)

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

type SnowMachineConfigStatus added in v0.8.0

type SnowMachineConfigStatus struct {
	// SpecValid is set to true if vspheredatacenterconfig is validated.
	SpecValid bool `json:"specValid,omitempty"`

	// FailureMessage indicates that there is a fatal problem reconciling the
	// state, and will be set to a descriptive error message.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

SnowMachineConfigStatus defines the observed state of SnowMachineConfig.

func (*SnowMachineConfigStatus) DeepCopy added in v0.8.0

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

func (*SnowMachineConfigStatus) DeepCopyInto added in v0.8.0

func (in *SnowMachineConfigStatus) DeepCopyInto(out *SnowMachineConfigStatus)

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

type SnowNetwork added in v0.14.0

type SnowNetwork struct {
	// DirectNetworkInterfaces contains a list of direct network interface (DNI) configuration.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	DirectNetworkInterfaces []SnowDirectNetworkInterface `json:"directNetworkInterfaces,omitempty"`
}

SnowNetwork specifies the network configurations for snow.

func (*SnowNetwork) DeepCopy added in v0.14.0

func (in *SnowNetwork) DeepCopy() *SnowNetwork

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

func (*SnowNetwork) DeepCopyInto added in v0.14.0

func (in *SnowNetwork) DeepCopyInto(out *SnowNetwork)

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

type SymlinkMaps added in v0.9.2

type SymlinkMaps map[string]string

func (SymlinkMaps) DeepCopy added in v0.9.2

func (in SymlinkMaps) DeepCopy() SymlinkMaps

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

func (SymlinkMaps) DeepCopyInto added in v0.9.2

func (in SymlinkMaps) DeepCopyInto(out *SymlinkMaps)

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

func (SymlinkMaps) Validate added in v0.9.2

func (r SymlinkMaps) Validate() (err error, field string, value string)

type TinkerbellDatacenterConfig added in v0.7.0

type TinkerbellDatacenterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TinkerbellDatacenterConfigSpec   `json:"spec,omitempty"`
	Status TinkerbellDatacenterConfigStatus `json:"status,omitempty"`
}

TinkerbellDatacenterConfig is the Schema for the TinkerbellDatacenterConfigs API.

func GetTinkerbellDatacenterConfig added in v0.7.0

func GetTinkerbellDatacenterConfig(fileName string) (*TinkerbellDatacenterConfig, error)

func (*TinkerbellDatacenterConfig) ClearPauseAnnotation added in v0.7.0

func (t *TinkerbellDatacenterConfig) ClearPauseAnnotation()

func (*TinkerbellDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.7.0

func (t *TinkerbellDatacenterConfig) ConvertConfigToConfigGenerateStruct() *TinkerbellDatacenterConfigGenerate

func (*TinkerbellDatacenterConfig) DeepCopy added in v0.7.0

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

func (*TinkerbellDatacenterConfig) DeepCopyInto added in v0.7.0

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

func (*TinkerbellDatacenterConfig) DeepCopyObject added in v0.7.0

func (in *TinkerbellDatacenterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TinkerbellDatacenterConfig) ExpectedKind added in v0.7.0

func (v *TinkerbellDatacenterConfig) ExpectedKind() string

func (*TinkerbellDatacenterConfig) IsReconcilePaused added in v0.7.0

func (t *TinkerbellDatacenterConfig) IsReconcilePaused() bool

func (*TinkerbellDatacenterConfig) Kind added in v0.7.0

func (*TinkerbellDatacenterConfig) Marshallable added in v0.7.0

func (t *TinkerbellDatacenterConfig) Marshallable() Marshallable

func (*TinkerbellDatacenterConfig) PauseReconcile added in v0.7.0

func (t *TinkerbellDatacenterConfig) PauseReconcile()

func (*TinkerbellDatacenterConfig) SetupWebhookWithManager added in v0.14.0

func (r *TinkerbellDatacenterConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up TinkerbellDatacenterConfig webhook to controller manager.

func (*TinkerbellDatacenterConfig) Validate added in v0.14.0

func (t *TinkerbellDatacenterConfig) Validate() error

Validate validates the Tinkerbell datacenter config.

func (*TinkerbellDatacenterConfig) ValidateCreate added in v0.14.0

func (r *TinkerbellDatacenterConfig) ValidateCreate() (admission.Warnings, error)

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

func (*TinkerbellDatacenterConfig) ValidateDelete added in v0.14.0

func (r *TinkerbellDatacenterConfig) ValidateDelete() (admission.Warnings, error)

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

func (*TinkerbellDatacenterConfig) ValidateUpdate added in v0.14.0

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

type TinkerbellDatacenterConfigGenerate added in v0.7.0

type TinkerbellDatacenterConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec TinkerbellDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as TinkerbellDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewTinkerbellDatacenterConfigGenerate added in v0.7.0

func NewTinkerbellDatacenterConfigGenerate(clusterName string) *TinkerbellDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*TinkerbellDatacenterConfigGenerate) APIVersion added in v0.7.0

func (*TinkerbellDatacenterConfigGenerate) Kind added in v0.7.0

func (*TinkerbellDatacenterConfigGenerate) Name added in v0.7.0

type TinkerbellDatacenterConfigList added in v0.7.0

type TinkerbellDatacenterConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TinkerbellDatacenterConfig `json:"items"`
}

TinkerbellDatacenterConfigList contains a list of TinkerbellDatacenterConfig.

func (*TinkerbellDatacenterConfigList) DeepCopy added in v0.7.0

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

func (*TinkerbellDatacenterConfigList) DeepCopyInto added in v0.7.0

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

func (*TinkerbellDatacenterConfigList) DeepCopyObject added in v0.7.0

func (in *TinkerbellDatacenterConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TinkerbellDatacenterConfigSpec added in v0.7.0

type TinkerbellDatacenterConfigSpec struct {
	// TinkerbellIP is used to configure a VIP for hosting the Tinkerbell services.
	TinkerbellIP string `json:"tinkerbellIP"`
	// OSImageURL can be used to override the default OS image path to pull from a local server.
	// OSImageURL is a URL to the OS image used during provisioning. To perform modular upgrades
	// the OSImageURL must be specified on the TinkerbellMachineConfig objects. You cannot specify
	// an OSImageURL on the TinkerbellDatacenterConfig and TinkerbellMachineConfigs simultaneously.
	// It must include the Kubernetes version(s). For example, a URL used for Kubernetes 1.27 could
	// be http://localhost:8080/ubuntu-2204-1.27.tgz
	//+optional
	OSImageURL string `json:"osImageURL"`
	// HookImagesURLPath can be used to override the default Hook images path to pull from a local server.
	HookImagesURLPath string `json:"hookImagesURLPath,omitempty"`
	// SkipLoadBalancerDeployment when set to "true" can be used to skip deploying a load balancer to expose Tinkerbell stack.
	// Users will need to deploy and configure a load balancer manually after the cluster is created.
	SkipLoadBalancerDeployment bool `json:"skipLoadBalancerDeployment,omitempty"`
}

TinkerbellDatacenterConfigSpec defines the desired state of TinkerbellDatacenterConfig.

func (*TinkerbellDatacenterConfigSpec) DeepCopy added in v0.7.0

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

func (*TinkerbellDatacenterConfigSpec) DeepCopyInto added in v0.7.0

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

type TinkerbellDatacenterConfigStatus added in v0.7.0

type TinkerbellDatacenterConfigStatus struct{}

TinkerbellDatacenterConfigStatus defines the observed state of TinkerbellDatacenterConfig

Important: Run "make generate" to regenerate code after modifying this file.

func (*TinkerbellDatacenterConfigStatus) DeepCopy added in v0.7.0

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

func (*TinkerbellDatacenterConfigStatus) DeepCopyInto added in v0.7.0

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

type TinkerbellMachineConfig added in v0.7.0

type TinkerbellMachineConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TinkerbellMachineConfigSpec   `json:"spec,omitempty"`
	Status TinkerbellMachineConfigStatus `json:"status,omitempty"`
}

TinkerbellMachineConfig is the Schema for the tinkerbellmachineconfigs API.

func (*TinkerbellMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.7.0

func (c *TinkerbellMachineConfig) ConvertConfigToConfigGenerateStruct() *TinkerbellMachineConfigGenerate

func (*TinkerbellMachineConfig) DeepCopy added in v0.7.0

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

func (*TinkerbellMachineConfig) DeepCopyInto added in v0.7.0

func (in *TinkerbellMachineConfig) DeepCopyInto(out *TinkerbellMachineConfig)

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

func (*TinkerbellMachineConfig) DeepCopyObject added in v0.7.0

func (in *TinkerbellMachineConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TinkerbellMachineConfig) Default added in v0.15.0

func (r *TinkerbellMachineConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*TinkerbellMachineConfig) GetName added in v0.7.0

func (c *TinkerbellMachineConfig) GetName() string

func (*TinkerbellMachineConfig) GetNamespace added in v0.7.0

func (c *TinkerbellMachineConfig) GetNamespace() string

func (*TinkerbellMachineConfig) IsControlPlane added in v0.7.0

func (c *TinkerbellMachineConfig) IsControlPlane() bool

func (*TinkerbellMachineConfig) IsEtcd added in v0.7.0

func (c *TinkerbellMachineConfig) IsEtcd() bool

func (*TinkerbellMachineConfig) IsManaged added in v0.7.0

func (c *TinkerbellMachineConfig) IsManaged() bool

func (*TinkerbellMachineConfig) IsReconcilePaused added in v0.7.0

func (c *TinkerbellMachineConfig) IsReconcilePaused() bool

func (*TinkerbellMachineConfig) Marshallable added in v0.7.0

func (c *TinkerbellMachineConfig) Marshallable() Marshallable

func (*TinkerbellMachineConfig) OSFamily added in v0.7.0

func (c *TinkerbellMachineConfig) OSFamily() OSFamily

func (*TinkerbellMachineConfig) PauseReconcile added in v0.7.0

func (c *TinkerbellMachineConfig) PauseReconcile()

func (*TinkerbellMachineConfig) SetControlPlane added in v0.7.0

func (c *TinkerbellMachineConfig) SetControlPlane()

func (*TinkerbellMachineConfig) SetDefaults added in v0.15.0

func (c *TinkerbellMachineConfig) SetDefaults()

SetDefaults sets defaults for Tinkerbell machine config.

func (*TinkerbellMachineConfig) SetEtcd added in v0.7.0

func (c *TinkerbellMachineConfig) SetEtcd()

func (*TinkerbellMachineConfig) SetManagedBy added in v0.7.0

func (c *TinkerbellMachineConfig) SetManagedBy(clusterName string)

func (*TinkerbellMachineConfig) SetupWebhookWithManager added in v0.14.0

func (r *TinkerbellMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up TinkerbellMachineConfig webhook to controller manager.

func (*TinkerbellMachineConfig) Users added in v0.18.0

Users returns a list of configuration for OS users.

func (*TinkerbellMachineConfig) Validate added in v0.15.0

func (c *TinkerbellMachineConfig) Validate() error

Validate performs light and fast Tinkerbell machine config validation.

func (*TinkerbellMachineConfig) ValidateCreate added in v0.14.0

func (r *TinkerbellMachineConfig) ValidateCreate() (admission.Warnings, error)

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

func (*TinkerbellMachineConfig) ValidateDelete added in v0.14.0

func (r *TinkerbellMachineConfig) ValidateDelete() (admission.Warnings, error)

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

func (*TinkerbellMachineConfig) ValidateUpdate added in v0.14.0

func (r *TinkerbellMachineConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type TinkerbellMachineConfigGenerate added in v0.7.0

type TinkerbellMachineConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec TinkerbellMachineConfigSpec `json:"spec,omitempty"`
}

Same as TinkerbellMachineConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewTinkerbellMachineConfigGenerate added in v0.7.0

func NewTinkerbellMachineConfigGenerate(name string, opts ...TinkerbellMachineConfigGenerateOpt) *TinkerbellMachineConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*TinkerbellMachineConfigGenerate) APIVersion added in v0.7.0

func (c *TinkerbellMachineConfigGenerate) APIVersion() string

func (*TinkerbellMachineConfigGenerate) Kind added in v0.7.0

func (*TinkerbellMachineConfigGenerate) Name added in v0.7.0

type TinkerbellMachineConfigGenerateOpt added in v0.8.0

type TinkerbellMachineConfigGenerateOpt func(config *TinkerbellMachineConfigGenerate)

+kubebuilder:object:generate=false

func WithTemplateRef added in v0.8.0

type TinkerbellMachineConfigList added in v0.7.0

type TinkerbellMachineConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TinkerbellMachineConfig `json:"items"`
}

TinkerbellMachineConfigList contains a list of TinkerbellMachineConfig.

func (*TinkerbellMachineConfigList) DeepCopy added in v0.7.0

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

func (*TinkerbellMachineConfigList) DeepCopyInto added in v0.7.0

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

func (*TinkerbellMachineConfigList) DeepCopyObject added in v0.7.0

func (in *TinkerbellMachineConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TinkerbellMachineConfigSpec added in v0.7.0

type TinkerbellMachineConfigSpec struct {
	HardwareSelector HardwareSelector `json:"hardwareSelector"`
	TemplateRef      Ref              `json:"templateRef,omitempty"`
	OSFamily         OSFamily         `json:"osFamily"`
	//+optional
	// OSImageURL can be used to override the default OS image path to pull from a local server.
	// OSImageURL is a URL to the OS image used during provisioning. It must include
	// the Kubernetes version(s). For example, a URL used for Kubernetes 1.27 could
	// be http://localhost:8080/ubuntu-2204-1.27.tgz
	OSImageURL          string               `json:"osImageURL"`
	Users               []UserConfiguration  `json:"users,omitempty"`
	HostOSConfiguration *HostOSConfiguration `json:"hostOSConfiguration,omitempty"`
}

TinkerbellMachineConfigSpec defines the desired state of TinkerbellMachineConfig.

func (*TinkerbellMachineConfigSpec) DeepCopy added in v0.7.0

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

func (*TinkerbellMachineConfigSpec) DeepCopyInto added in v0.7.0

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

type TinkerbellMachineConfigStatus added in v0.7.0

type TinkerbellMachineConfigStatus struct{}

TinkerbellMachineConfigStatus defines the observed state of TinkerbellMachineConfig.

func (*TinkerbellMachineConfigStatus) DeepCopy added in v0.7.0

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

func (*TinkerbellMachineConfigStatus) DeepCopyInto added in v0.7.0

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

type TinkerbellTemplateConfig added in v0.8.0

type TinkerbellTemplateConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TinkerbellTemplateConfigSpec   `json:"spec,omitempty"`
	Status TinkerbellTemplateConfigStatus `json:"status,omitempty"`
}

TinkerbellTemplateConfig is the Schema for the TinkerbellTemplateConfigs API.

func NewDefaultTinkerbellTemplateConfigCreate added in v0.9.2

func NewDefaultTinkerbellTemplateConfigCreate(clusterSpec *Cluster, versionBundle v1alpha1.VersionsBundle, osImageOverride, tinkerbellLocalIP, tinkerbellLBIP string, osFamily OSFamily) *TinkerbellTemplateConfig

NewDefaultTinkerbellTemplateConfigCreate returns a default TinkerbellTemplateConfig with the required Tasks and Actions.

func (*TinkerbellTemplateConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (c *TinkerbellTemplateConfig) ConvertConfigToConfigGenerateStruct() *TinkerbellTemplateConfigGenerate

func (*TinkerbellTemplateConfig) DeepCopy added in v0.8.0

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

func (*TinkerbellTemplateConfig) DeepCopyInto added in v0.8.0

func (in *TinkerbellTemplateConfig) DeepCopyInto(out *TinkerbellTemplateConfig)

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

func (*TinkerbellTemplateConfig) DeepCopyObject added in v0.8.0

func (in *TinkerbellTemplateConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TinkerbellTemplateConfig) ExpectedKind added in v0.8.0

func (t *TinkerbellTemplateConfig) ExpectedKind() string

func (*TinkerbellTemplateConfig) Kind added in v0.8.0

func (t *TinkerbellTemplateConfig) Kind() string

func (*TinkerbellTemplateConfig) ToTemplateString added in v0.8.0

func (t *TinkerbellTemplateConfig) ToTemplateString() (string, error)

type TinkerbellTemplateConfigGenerate added in v0.8.0

type TinkerbellTemplateConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec TinkerbellTemplateConfigSpec `json:"spec,omitempty"`
}

Same as TinkerbellTemplateConfig except stripped down for generation of yaml file during generate clusterconfig.

func (*TinkerbellTemplateConfigGenerate) APIVersion added in v0.8.0

func (c *TinkerbellTemplateConfigGenerate) APIVersion() string

func (*TinkerbellTemplateConfigGenerate) Kind added in v0.8.0

func (*TinkerbellTemplateConfigGenerate) Name added in v0.8.0

type TinkerbellTemplateConfigList added in v0.8.0

type TinkerbellTemplateConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TinkerbellTemplateConfig `json:"items"`
}

TinkerbellTemplateConfigList contains a list of TinkerbellTemplateConfig.

func (*TinkerbellTemplateConfigList) DeepCopy added in v0.8.0

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

func (*TinkerbellTemplateConfigList) DeepCopyInto added in v0.8.0

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

func (*TinkerbellTemplateConfigList) DeepCopyObject added in v0.8.0

func (in *TinkerbellTemplateConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TinkerbellTemplateConfigSpec added in v0.8.0

type TinkerbellTemplateConfigSpec struct {
	// Template defines a Tinkerbell workflow template with specific tasks and actions.
	Template tinkerbell.Workflow `json:"template"`
}

TinkerbellTemplateConfigSpec defines the desired state of TinkerbellTemplateConfig.

func (*TinkerbellTemplateConfigSpec) DeepCopy added in v0.8.0

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

func (*TinkerbellTemplateConfigSpec) DeepCopyInto added in v0.8.0

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

type TinkerbellTemplateConfigStatus added in v0.8.0

type TinkerbellTemplateConfigStatus struct{}

TinkerbellTemplateConfigStatus defines the observed state of TinkerbellTemplateConfig.

func (*TinkerbellTemplateConfigStatus) DeepCopy added in v0.8.0

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

func (*TinkerbellTemplateConfigStatus) DeepCopyInto added in v0.8.0

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

type UpgradeRolloutStrategyType added in v0.19.0

type UpgradeRolloutStrategyType string

UpgradeRolloutStrategyType defines the types of upgrade rollout strategies.

const (
	// RollingUpdateStrategyType replaces the old machine by new one using rolling update.
	RollingUpdateStrategyType UpgradeRolloutStrategyType = "RollingUpdate"

	// InPlaceStrategyType upgrades the machines in-place without rolling out any new nodes.
	InPlaceStrategyType UpgradeRolloutStrategyType = "InPlace"
)

type UserConfiguration

type UserConfiguration struct {
	Name              string   `json:"name"`
	SshAuthorizedKeys []string `json:"sshAuthorizedKeys"`
}

UserConfiguration defines the configuration of the user to be added to the VM.

func (*UserConfiguration) DeepCopy

func (in *UserConfiguration) DeepCopy() *UserConfiguration

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

func (*UserConfiguration) DeepCopyInto

func (in *UserConfiguration) DeepCopyInto(out *UserConfiguration)

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

type VSphereDatacenterConfig

type VSphereDatacenterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VSphereDatacenterConfigSpec   `json:"spec,omitempty"`
	Status VSphereDatacenterConfigStatus `json:"status,omitempty"`
}

VSphereDatacenterConfig is the Schema for the VSphereDatacenterConfigs API.

func GetVSphereDatacenterConfig

func GetVSphereDatacenterConfig(fileName string) (*VSphereDatacenterConfig, error)

func (*VSphereDatacenterConfig) ClearPauseAnnotation

func (v *VSphereDatacenterConfig) ClearPauseAnnotation()

func (*VSphereDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (v *VSphereDatacenterConfig) ConvertConfigToConfigGenerateStruct() *VSphereDatacenterConfigGenerate

func (*VSphereDatacenterConfig) DeepCopy

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

func (*VSphereDatacenterConfig) DeepCopyInto

func (in *VSphereDatacenterConfig) DeepCopyInto(out *VSphereDatacenterConfig)

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

func (*VSphereDatacenterConfig) DeepCopyObject

func (in *VSphereDatacenterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VSphereDatacenterConfig) Default added in v0.12.0

func (r *VSphereDatacenterConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*VSphereDatacenterConfig) ExpectedKind

func (v *VSphereDatacenterConfig) ExpectedKind() string

func (*VSphereDatacenterConfig) IsReconcilePaused

func (v *VSphereDatacenterConfig) IsReconcilePaused() bool

func (*VSphereDatacenterConfig) Kind

func (v *VSphereDatacenterConfig) Kind() string

func (*VSphereDatacenterConfig) Marshallable added in v0.6.0

func (v *VSphereDatacenterConfig) Marshallable() Marshallable

func (*VSphereDatacenterConfig) PauseReconcile

func (v *VSphereDatacenterConfig) PauseReconcile()

func (*VSphereDatacenterConfig) SetDefaults added in v0.7.0

func (v *VSphereDatacenterConfig) SetDefaults()

func (*VSphereDatacenterConfig) SetupWebhookWithManager

func (r *VSphereDatacenterConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*VSphereDatacenterConfig) Validate added in v0.8.0

func (v *VSphereDatacenterConfig) Validate() error

func (*VSphereDatacenterConfig) ValidateCreate

func (r *VSphereDatacenterConfig) ValidateCreate() (admission.Warnings, error)

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

func (*VSphereDatacenterConfig) ValidateDelete

func (r *VSphereDatacenterConfig) ValidateDelete() (admission.Warnings, error)

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

func (*VSphereDatacenterConfig) ValidateUpdate

func (r *VSphereDatacenterConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type VSphereDatacenterConfigGenerate

type VSphereDatacenterConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec VSphereDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as VSphereDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewVSphereDatacenterConfigGenerate

func NewVSphereDatacenterConfigGenerate(clusterName string) *VSphereDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*VSphereDatacenterConfigGenerate) APIVersion

func (c *VSphereDatacenterConfigGenerate) APIVersion() string

func (*VSphereDatacenterConfigGenerate) Kind

func (*VSphereDatacenterConfigGenerate) Name

type VSphereDatacenterConfigList

type VSphereDatacenterConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VSphereDatacenterConfig `json:"items"`
}

VSphereDatacenterConfigList contains a list of VSphereDatacenterConfig.

func (*VSphereDatacenterConfigList) DeepCopy

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

func (*VSphereDatacenterConfigList) DeepCopyInto

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

func (*VSphereDatacenterConfigList) DeepCopyObject

func (in *VSphereDatacenterConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type VSphereDatacenterConfigSpec

type VSphereDatacenterConfigSpec struct {
	Datacenter string `json:"datacenter"`
	Network    string `json:"network"`
	Server     string `json:"server"`
	Thumbprint string `json:"thumbprint"`
	Insecure   bool   `json:"insecure"`
}

VSphereDatacenterConfigSpec defines the desired state of VSphereDatacenterConfig.

func (*VSphereDatacenterConfigSpec) DeepCopy

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

func (*VSphereDatacenterConfigSpec) DeepCopyInto

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

type VSphereDatacenterConfigStatus

type VSphereDatacenterConfigStatus struct {
	// SpecValid is set to true if vspheredatacenterconfig is validated.
	SpecValid bool `json:"specValid,omitempty"`

	// ObservedGeneration is the latest generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// FailureMessage indicates that there is a fatal problem reconciling the
	// state, and will be set to a descriptive error message.
	FailureMessage *string `json:"failureMessage,omitempty"`
}

VSphereDatacenterConfigStatus defines the observed state of VSphereDatacenterConfig.

func (*VSphereDatacenterConfigStatus) DeepCopy

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

func (*VSphereDatacenterConfigStatus) DeepCopyInto

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

type VSphereMachineConfig

type VSphereMachineConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VSphereMachineConfigSpec   `json:"spec,omitempty"`
	Status VSphereMachineConfigStatus `json:"status,omitempty"`
}

VSphereMachineConfig is the Schema for the vspheremachineconfigs API.

func (*VSphereMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *VSphereMachineConfig) ConvertConfigToConfigGenerateStruct() *VSphereMachineConfigGenerate

func (*VSphereMachineConfig) DeepCopy

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

func (*VSphereMachineConfig) DeepCopyInto

func (in *VSphereMachineConfig) DeepCopyInto(out *VSphereMachineConfig)

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

func (*VSphereMachineConfig) DeepCopyObject

func (in *VSphereMachineConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VSphereMachineConfig) Default added in v0.12.0

func (r *VSphereMachineConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*VSphereMachineConfig) GetName added in v0.6.0

func (c *VSphereMachineConfig) GetName() string

func (*VSphereMachineConfig) GetNamespace added in v0.6.0

func (c *VSphereMachineConfig) GetNamespace() string

func (*VSphereMachineConfig) IsControlPlane

func (c *VSphereMachineConfig) IsControlPlane() bool

func (*VSphereMachineConfig) IsEtcd

func (c *VSphereMachineConfig) IsEtcd() bool

func (*VSphereMachineConfig) IsManaged added in v0.7.0

func (c *VSphereMachineConfig) IsManaged() bool

IsManaged returns true if the vspheremachineconfig is associated with a workload cluster.

func (*VSphereMachineConfig) IsReconcilePaused

func (c *VSphereMachineConfig) IsReconcilePaused() bool

func (*VSphereMachineConfig) Marshallable added in v0.6.0

func (c *VSphereMachineConfig) Marshallable() Marshallable

func (*VSphereMachineConfig) OSFamily added in v0.6.0

func (c *VSphereMachineConfig) OSFamily() OSFamily

func (*VSphereMachineConfig) PauseReconcile

func (c *VSphereMachineConfig) PauseReconcile()

func (*VSphereMachineConfig) SetControlPlane

func (c *VSphereMachineConfig) SetControlPlane()

func (*VSphereMachineConfig) SetDefaults added in v0.12.0

func (c *VSphereMachineConfig) SetDefaults()

func (*VSphereMachineConfig) SetEtcd added in v0.6.0

func (c *VSphereMachineConfig) SetEtcd()

func (*VSphereMachineConfig) SetManagedBy added in v0.7.0

func (c *VSphereMachineConfig) SetManagedBy(clusterName string)

func (*VSphereMachineConfig) SetUserDefaults added in v0.16.0

func (c *VSphereMachineConfig) SetUserDefaults()

SetUserDefaults initializes Spec.Users for the VSphereMachineConfig with default values. This only runs in the CLI, as we support do support user defaults through the webhook.

func (*VSphereMachineConfig) SetupWebhookWithManager

func (r *VSphereMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*VSphereMachineConfig) Users added in v0.18.0

Users returns a list of configuration for OS users.

func (*VSphereMachineConfig) Validate added in v0.8.0

func (c *VSphereMachineConfig) Validate() error

func (*VSphereMachineConfig) ValidateCreate

func (r *VSphereMachineConfig) ValidateCreate() (admission.Warnings, error)

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

func (*VSphereMachineConfig) ValidateDelete

func (r *VSphereMachineConfig) ValidateDelete() (admission.Warnings, error)

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

func (*VSphereMachineConfig) ValidateHasTemplate added in v0.13.0

func (c *VSphereMachineConfig) ValidateHasTemplate() error

ValidateHasTemplate verifies that a VSphereMachineConfig object has a template. Specifying a template is required when submitting an object via webhook, as we only support auto-importing templates when creating a cluster via CLI.

func (*VSphereMachineConfig) ValidateUpdate

func (r *VSphereMachineConfig) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

func (*VSphereMachineConfig) ValidateUsers added in v0.16.0

func (c *VSphereMachineConfig) ValidateUsers() error

ValidateUsers verifies a VSphereMachineConfig object must have a users with ssh authorized keys. This validation only runs in VSphereMachineConfig validation webhook, as we support auto-generate and import ssh key when creating a cluster via CLI.

type VSphereMachineConfigGenerate

type VSphereMachineConfigGenerate struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      `json:"metadata,omitempty"`

	Spec VSphereMachineConfigSpec `json:"spec,omitempty"`
}

VSphereMachineConfigGenerate Same as VSphereMachineConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewVSphereMachineConfigGenerate

func NewVSphereMachineConfigGenerate(name string) *VSphereMachineConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*VSphereMachineConfigGenerate) APIVersion

func (c *VSphereMachineConfigGenerate) APIVersion() string

func (*VSphereMachineConfigGenerate) Kind

func (*VSphereMachineConfigGenerate) Name

type VSphereMachineConfigList

type VSphereMachineConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VSphereMachineConfig `json:"items"`
}

VSphereMachineConfigList contains a list of VSphereMachineConfig.

func (*VSphereMachineConfigList) DeepCopy

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

func (*VSphereMachineConfigList) DeepCopyInto

func (in *VSphereMachineConfigList) DeepCopyInto(out *VSphereMachineConfigList)

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

func (*VSphereMachineConfigList) DeepCopyObject

func (in *VSphereMachineConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type VSphereMachineConfigSpec

type VSphereMachineConfigSpec struct {
	DiskGiB           int      `json:"diskGiB,omitempty"`
	Datastore         string   `json:"datastore"`
	Folder            string   `json:"folder"`
	NumCPUs           int      `json:"numCPUs"`
	MemoryMiB         int      `json:"memoryMiB"`
	OSFamily          OSFamily `json:"osFamily"`
	ResourcePool      string   `json:"resourcePool"`
	StoragePolicyName string   `json:"storagePolicyName,omitempty"`
	// Template field is the template to use for provisioning the VM. It must include the Kubernetes
	// version(s). For example, a template used for Kubernetes 1.27 could be ubuntu-2204-1.27.
	Template            string               `json:"template,omitempty"`
	Users               []UserConfiguration  `json:"users,omitempty"`
	TagIDs              []string             `json:"tags,omitempty"`
	CloneMode           CloneMode            `json:"cloneMode,omitempty"`
	HostOSConfiguration *HostOSConfiguration `json:"hostOSConfiguration,omitempty"`
}

VSphereMachineConfigSpec defines the desired state of VSphereMachineConfig.

func (*VSphereMachineConfigSpec) DeepCopy

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

func (*VSphereMachineConfigSpec) DeepCopyInto

func (in *VSphereMachineConfigSpec) DeepCopyInto(out *VSphereMachineConfigSpec)

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

type VSphereMachineConfigStatus

type VSphereMachineConfigStatus struct{}

VSphereMachineConfigStatus defines the observed state of VSphereMachineConfig.

func (*VSphereMachineConfigStatus) DeepCopy

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

func (*VSphereMachineConfigStatus) DeepCopyInto

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

type WorkerNodeGroupConfiguration

type WorkerNodeGroupConfiguration struct {
	// Name refers to the name of the worker node group
	Name string `json:"name,omitempty"`
	// Count defines the number of desired worker nodes. Defaults to 1.
	Count *int `json:"count,omitempty"`
	// AutoScalingConfiguration defines the auto scaling configuration
	AutoScalingConfiguration *AutoScalingConfiguration `json:"autoscalingConfiguration,omitempty"`
	// MachineGroupRef defines the machine group configuration for the worker nodes.
	MachineGroupRef *Ref `json:"machineGroupRef,omitempty"`
	// Taints define the set of taints to be applied on worker nodes
	Taints []corev1.Taint `json:"taints,omitempty"`
	// Labels define the labels to assign to the node
	Labels map[string]string `json:"labels,omitempty"`
	// UpgradeRolloutStrategy determines the rollout strategy to use for rolling upgrades
	// and related parameters/knobs
	UpgradeRolloutStrategy *WorkerNodesUpgradeRolloutStrategy `json:"upgradeRolloutStrategy,omitempty"`
	// KubernetesVersion defines the version for worker nodes. If not set, the top level spec kubernetesVersion will be used.
	KubernetesVersion *KubernetesVersion `json:"kubernetesVersion,omitempty"`
	// MachineHealthCheck is a worker node level override for the timeouts and maxUnhealthy specified in the top-level MHC configuration. If not configured, the defaults in the top-level MHC configuration are used.
	MachineHealthCheck *MachineHealthCheck `json:"machineHealthCheck,omitempty"`
	// KubeletConfiguration is a struct that exposes the Kubelet settings for the user to set on worker nodes.
	// +kubebuilder:pruning:PreserveUnknownFields
	KubeletConfiguration *unstructured.Unstructured `json:"kubeletConfiguration,omitempty"`
}

func (*WorkerNodeGroupConfiguration) DeepCopy

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

func (*WorkerNodeGroupConfiguration) DeepCopyInto

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

func (WorkerNodeGroupConfiguration) Equal added in v0.17.0

Equal compares two WorkerNodeGroupConfigurations.

type WorkerNodesRollingUpdateParams added in v0.13.0

type WorkerNodesRollingUpdateParams struct {
	MaxSurge       int `json:"maxSurge"`
	MaxUnavailable int `json:"maxUnavailable"`
}

WorkerNodesRollingUpdateParams is API for rolling update strategy knobs.

func (*WorkerNodesRollingUpdateParams) DeepCopy added in v0.13.0

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

func (*WorkerNodesRollingUpdateParams) DeepCopyInto added in v0.13.0

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

type WorkerNodesUpgradeRolloutStrategy added in v0.13.0

type WorkerNodesUpgradeRolloutStrategy struct {
	Type          UpgradeRolloutStrategyType      `json:"type,omitempty"`
	RollingUpdate *WorkerNodesRollingUpdateParams `json:"rollingUpdate,omitempty"`
}

WorkerNodesUpgradeRolloutStrategy indicates rollout strategy for cluster.

func (*WorkerNodesUpgradeRolloutStrategy) DeepCopy added in v0.13.0

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

func (*WorkerNodesUpgradeRolloutStrategy) DeepCopyInto added in v0.13.0

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

func (*WorkerNodesUpgradeRolloutStrategy) Equal added in v0.17.0

Equal compares two WorkerNodesUpgradeRolloutStrategies.

Source Files

Directories

Path Synopsis
thirdparty
tinkerbell
Package tinkerbell represents APIs and types copied from the tinkerbell/tink repo.
Package tinkerbell represents APIs and types copied from the tinkerbell/tink repo.
tinkerbell/rufio
+kubebuilder:object:generate=true
+kubebuilder:object:generate=true

Jump to

Keyboard shortcuts

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