v1beta1

package
v1.11.1 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2025 License: Apache-2.0 Imports: 21 Imported by: 1

Documentation

Overview

Package v1beta1 contains API Schema definitions for the kubeadm v1beta1 API group. +k8s:conversion-gen=sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta2 +kubebuilder:object:generate=true +groupName=bootstrap.cluster.x-k8s.io

Deprecated: This package is deprecated and is going to be removed when support for v1beta1 will be dropped.

Index

Constants

View Source
const (
	// DataSecretAvailableCondition documents the status of the bootstrap secret generation process.
	//
	// NOTE: When the DataSecret generation starts the process completes immediately and within the
	// same reconciliation, so the user will always see a transition from Wait to Generated without having
	// evidence that BootstrapSecret generation is started/in progress.
	DataSecretAvailableCondition clusterv1beta1.ConditionType = "DataSecretAvailable"

	// WaitingForClusterInfrastructureReason (Severity=Info) document a bootstrap secret generation process
	// waiting for the cluster infrastructure to be ready.
	//
	// NOTE: Having the cluster infrastructure ready is a pre-condition for starting to create machines;
	// the KubeadmConfig controller ensure this pre-condition is satisfied.
	WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"

	// DataSecretGenerationFailedReason (Severity=Warning) documents a KubeadmConfig controller detecting
	// an error while generating a data secret; those kind of errors are usually due to misconfigurations
	// and user intervention is required to get them fixed.
	DataSecretGenerationFailedReason = "DataSecretGenerationFailed"
)
View Source
const (
	// CertificatesAvailableCondition documents that cluster certificates are available.
	//
	// NOTE: Cluster certificates are generated only for the KubeadmConfig object linked to the initial control plane
	// machine, if the cluster is not using a control plane ref object, if the certificates are not provided
	// by the users.
	// IMPORTANT: This condition won't be re-created after clusterctl move.
	CertificatesAvailableCondition clusterv1beta1.ConditionType = "CertificatesAvailable"

	// CertificatesGenerationFailedReason (Severity=Warning) documents a KubeadmConfig controller detecting
	// an error while generating certificates; those kind of errors are usually temporary and the controller
	// automatically recover from them.
	CertificatesGenerationFailedReason = "CertificatesGenerationFailed"

	// CertificatesCorruptedReason (Severity=Error) documents a KubeadmConfig controller detecting
	// an error while retrieving certificates for a joining node.
	CertificatesCorruptedReason = "CertificatesCorrupted"
)
View Source
const (
	// KubeadmConfigReadyV1Beta2Condition is true if the KubeadmConfig is not deleted,
	// and both DataSecretCreated, CertificatesAvailable conditions are true.
	KubeadmConfigReadyV1Beta2Condition = clusterv1beta1.ReadyV1Beta2Condition

	// KubeadmConfigReadyV1Beta2Reason surfaces when the KubeadmConfig is ready.
	KubeadmConfigReadyV1Beta2Reason = clusterv1beta1.ReadyV1Beta2Reason

	// KubeadmConfigNotReadyV1Beta2Reason surfaces when the KubeadmConfig is not ready.
	KubeadmConfigNotReadyV1Beta2Reason = clusterv1beta1.NotReadyV1Beta2Reason

	// KubeadmConfigReadyUnknownV1Beta2Reason surfaces when KubeadmConfig readiness is unknown.
	KubeadmConfigReadyUnknownV1Beta2Reason = clusterv1beta1.ReadyUnknownV1Beta2Reason
)

KubeadmConfig's Ready condition and corresponding reasons that will be used in v1Beta2 API version.

View Source
const (
	// KubeadmConfigCertificatesAvailableV1Beta2Condition documents that cluster certificates required
	// for generating the bootstrap data secret are available.
	KubeadmConfigCertificatesAvailableV1Beta2Condition = "CertificatesAvailable"

	// KubeadmConfigCertificatesAvailableV1Beta2Reason surfaces when certificates required for machine bootstrap are is available.
	KubeadmConfigCertificatesAvailableV1Beta2Reason = clusterv1beta1.AvailableV1Beta2Reason

	// KubeadmConfigCertificatesAvailableInternalErrorV1Beta2Reason surfaces unexpected failures when reading or
	// generating certificates required for machine bootstrap.
	KubeadmConfigCertificatesAvailableInternalErrorV1Beta2Reason = clusterv1beta1.InternalErrorV1Beta2Reason
)

KubeadmConfig's CertificatesAvailable condition and corresponding reasons that will be used in v1Beta2 API version.

View Source
const (
	// KubeadmConfigDataSecretAvailableV1Beta2Condition is true if the bootstrap secret is available.
	KubeadmConfigDataSecretAvailableV1Beta2Condition = "DataSecretAvailable"

	// KubeadmConfigDataSecretAvailableV1Beta2Reason surfaces when the bootstrap secret is available.
	KubeadmConfigDataSecretAvailableV1Beta2Reason = clusterv1beta1.AvailableV1Beta2Reason

	// KubeadmConfigDataSecretNotAvailableV1Beta2Reason surfaces when the bootstrap secret is not available.
	KubeadmConfigDataSecretNotAvailableV1Beta2Reason = clusterv1beta1.NotAvailableV1Beta2Reason
)

KubeadmConfig's DataSecretAvailable condition and corresponding reasons that will be used in v1Beta2 API version.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "bootstrap.cluster.x-k8s.io", Version: "v1beta1"}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = schemeBuilder.AddToScheme
)

Functions

func Convert_v1_Condition_To_v1beta1_Condition

func Convert_v1_Condition_To_v1beta1_Condition(in *metav1.Condition, out *clusterv1beta1.Condition, s apimachineryconversion.Scope) error

func Convert_v1beta1_APIEndpoint_To_v1beta2_APIEndpoint

func Convert_v1beta1_APIEndpoint_To_v1beta2_APIEndpoint(in *APIEndpoint, out *v1beta2.APIEndpoint, s conversion.Scope) error

Convert_v1beta1_APIEndpoint_To_v1beta2_APIEndpoint is an autogenerated conversion function.

func Convert_v1beta1_APIServer_To_v1beta2_APIServer

func Convert_v1beta1_APIServer_To_v1beta2_APIServer(in *APIServer, out *bootstrapv1.APIServer, s apimachineryconversion.Scope) error

func Convert_v1beta1_BootstrapTokenDiscovery_To_v1beta2_BootstrapTokenDiscovery

func Convert_v1beta1_BootstrapTokenDiscovery_To_v1beta2_BootstrapTokenDiscovery(in *BootstrapTokenDiscovery, out *v1beta2.BootstrapTokenDiscovery, s conversion.Scope) error

Convert_v1beta1_BootstrapTokenDiscovery_To_v1beta2_BootstrapTokenDiscovery is an autogenerated conversion function.

func Convert_v1beta1_BootstrapTokenString_To_v1beta2_BootstrapTokenString

func Convert_v1beta1_BootstrapTokenString_To_v1beta2_BootstrapTokenString(in *BootstrapTokenString, out *v1beta2.BootstrapTokenString, s conversion.Scope) error

Convert_v1beta1_BootstrapTokenString_To_v1beta2_BootstrapTokenString is an autogenerated conversion function.

func Convert_v1beta1_BootstrapToken_To_v1beta2_BootstrapToken

func Convert_v1beta1_BootstrapToken_To_v1beta2_BootstrapToken(in *BootstrapToken, out *bootstrapv1.BootstrapToken, s apimachineryconversion.Scope) error

func Convert_v1beta1_ClusterConfiguration_To_v1beta2_ClusterConfiguration

func Convert_v1beta1_ClusterConfiguration_To_v1beta2_ClusterConfiguration(in *ClusterConfiguration, out *bootstrapv1.ClusterConfiguration, s apimachineryconversion.Scope) error

func Convert_v1beta1_Condition_To_v1_Condition

func Convert_v1beta1_Condition_To_v1_Condition(in *clusterv1beta1.Condition, out *metav1.Condition, s apimachineryconversion.Scope) error

func Convert_v1beta1_ContainerLinuxConfig_To_v1beta2_ContainerLinuxConfig

func Convert_v1beta1_ContainerLinuxConfig_To_v1beta2_ContainerLinuxConfig(in *ContainerLinuxConfig, out *v1beta2.ContainerLinuxConfig, s conversion.Scope) error

Convert_v1beta1_ContainerLinuxConfig_To_v1beta2_ContainerLinuxConfig is an autogenerated conversion function.

func Convert_v1beta1_ControlPlaneComponent_To_v1beta2_ControllerManager

func Convert_v1beta1_ControlPlaneComponent_To_v1beta2_ControllerManager(in *ControlPlaneComponent, out *bootstrapv1.ControllerManager, s apimachineryconversion.Scope) error

func Convert_v1beta1_ControlPlaneComponent_To_v1beta2_Scheduler

func Convert_v1beta1_ControlPlaneComponent_To_v1beta2_Scheduler(in *ControlPlaneComponent, out *bootstrapv1.Scheduler, s apimachineryconversion.Scope) error

func Convert_v1beta1_DNS_To_v1beta2_DNS

func Convert_v1beta1_DNS_To_v1beta2_DNS(in *DNS, out *bootstrapv1.DNS, _ apimachineryconversion.Scope) error

func Convert_v1beta1_Discovery_To_v1beta2_Discovery

func Convert_v1beta1_Discovery_To_v1beta2_Discovery(in *Discovery, out *bootstrapv1.Discovery, s apimachineryconversion.Scope) error

func Convert_v1beta1_DiskSetup_To_v1beta2_DiskSetup

func Convert_v1beta1_DiskSetup_To_v1beta2_DiskSetup(in *DiskSetup, out *v1beta2.DiskSetup, s conversion.Scope) error

Convert_v1beta1_DiskSetup_To_v1beta2_DiskSetup is an autogenerated conversion function.

func Convert_v1beta1_EnvVar_To_v1beta2_EnvVar

func Convert_v1beta1_EnvVar_To_v1beta2_EnvVar(in *EnvVar, out *v1beta2.EnvVar, s conversion.Scope) error

Convert_v1beta1_EnvVar_To_v1beta2_EnvVar is an autogenerated conversion function.

func Convert_v1beta1_Etcd_To_v1beta2_Etcd

func Convert_v1beta1_Etcd_To_v1beta2_Etcd(in *Etcd, out *bootstrapv1.Etcd, s apimachineryconversion.Scope) error

func Convert_v1beta1_ExternalEtcd_To_v1beta2_ExternalEtcd

func Convert_v1beta1_ExternalEtcd_To_v1beta2_ExternalEtcd(in *ExternalEtcd, out *v1beta2.ExternalEtcd, s conversion.Scope) error

Convert_v1beta1_ExternalEtcd_To_v1beta2_ExternalEtcd is an autogenerated conversion function.

func Convert_v1beta1_FileDiscovery_To_v1beta2_FileDiscovery

func Convert_v1beta1_FileDiscovery_To_v1beta2_FileDiscovery(in *FileDiscovery, out *bootstrapv1.FileDiscovery, s apimachineryconversion.Scope) error

func Convert_v1beta1_FileSource_To_v1beta2_FileSource

func Convert_v1beta1_FileSource_To_v1beta2_FileSource(in *FileSource, out *v1beta2.FileSource, s conversion.Scope) error

Convert_v1beta1_FileSource_To_v1beta2_FileSource is an autogenerated conversion function.

func Convert_v1beta1_File_To_v1beta2_File

func Convert_v1beta1_File_To_v1beta2_File(in *File, out *bootstrapv1.File, s apimachineryconversion.Scope) error

func Convert_v1beta1_Filesystem_To_v1beta2_Filesystem

func Convert_v1beta1_Filesystem_To_v1beta2_Filesystem(in *Filesystem, out *v1beta2.Filesystem, s conversion.Scope) error

Convert_v1beta1_Filesystem_To_v1beta2_Filesystem is an autogenerated conversion function.

func Convert_v1beta1_HostPathMount_To_v1beta2_HostPathMount

func Convert_v1beta1_HostPathMount_To_v1beta2_HostPathMount(in *HostPathMount, out *v1beta2.HostPathMount, s conversion.Scope) error

Convert_v1beta1_HostPathMount_To_v1beta2_HostPathMount is an autogenerated conversion function.

func Convert_v1beta1_IgnitionSpec_To_v1beta2_IgnitionSpec

func Convert_v1beta1_IgnitionSpec_To_v1beta2_IgnitionSpec(in *IgnitionSpec, out *bootstrapv1.IgnitionSpec, s apimachineryconversion.Scope) error

func Convert_v1beta1_InitConfiguration_To_v1beta2_InitConfiguration

func Convert_v1beta1_InitConfiguration_To_v1beta2_InitConfiguration(in *InitConfiguration, out *bootstrapv1.InitConfiguration, s apimachineryconversion.Scope) error

func Convert_v1beta1_JoinConfiguration_To_v1beta2_JoinConfiguration

func Convert_v1beta1_JoinConfiguration_To_v1beta2_JoinConfiguration(in *JoinConfiguration, out *bootstrapv1.JoinConfiguration, s apimachineryconversion.Scope) error

func Convert_v1beta1_JoinControlPlane_To_v1beta2_JoinControlPlane

func Convert_v1beta1_JoinControlPlane_To_v1beta2_JoinControlPlane(in *JoinControlPlane, out *v1beta2.JoinControlPlane, s conversion.Scope) error

Convert_v1beta1_JoinControlPlane_To_v1beta2_JoinControlPlane is an autogenerated conversion function.

func Convert_v1beta1_KubeConfigAuthExecEnv_To_v1beta2_KubeConfigAuthExecEnv

func Convert_v1beta1_KubeConfigAuthExecEnv_To_v1beta2_KubeConfigAuthExecEnv(in *KubeConfigAuthExecEnv, out *v1beta2.KubeConfigAuthExecEnv, s conversion.Scope) error

Convert_v1beta1_KubeConfigAuthExecEnv_To_v1beta2_KubeConfigAuthExecEnv is an autogenerated conversion function.

func Convert_v1beta1_KubeConfigAuthExec_To_v1beta2_KubeConfigAuthExec

func Convert_v1beta1_KubeConfigAuthExec_To_v1beta2_KubeConfigAuthExec(in *KubeConfigAuthExec, out *v1beta2.KubeConfigAuthExec, s conversion.Scope) error

Convert_v1beta1_KubeConfigAuthExec_To_v1beta2_KubeConfigAuthExec is an autogenerated conversion function.

func Convert_v1beta1_KubeConfigAuthProvider_To_v1beta2_KubeConfigAuthProvider

func Convert_v1beta1_KubeConfigAuthProvider_To_v1beta2_KubeConfigAuthProvider(in *KubeConfigAuthProvider, out *v1beta2.KubeConfigAuthProvider, s conversion.Scope) error

Convert_v1beta1_KubeConfigAuthProvider_To_v1beta2_KubeConfigAuthProvider is an autogenerated conversion function.

func Convert_v1beta1_KubeConfigCluster_To_v1beta2_KubeConfigCluster

func Convert_v1beta1_KubeConfigCluster_To_v1beta2_KubeConfigCluster(in *KubeConfigCluster, out *v1beta2.KubeConfigCluster, s conversion.Scope) error

Convert_v1beta1_KubeConfigCluster_To_v1beta2_KubeConfigCluster is an autogenerated conversion function.

func Convert_v1beta1_KubeConfigUser_To_v1beta2_KubeConfigUser

func Convert_v1beta1_KubeConfigUser_To_v1beta2_KubeConfigUser(in *KubeConfigUser, out *bootstrapv1.KubeConfigUser, s apimachineryconversion.Scope) error

func Convert_v1beta1_KubeadmConfigList_To_v1beta2_KubeadmConfigList

func Convert_v1beta1_KubeadmConfigList_To_v1beta2_KubeadmConfigList(in *KubeadmConfigList, out *v1beta2.KubeadmConfigList, s conversion.Scope) error

Convert_v1beta1_KubeadmConfigList_To_v1beta2_KubeadmConfigList is an autogenerated conversion function.

func Convert_v1beta1_KubeadmConfigSpec_To_v1beta2_KubeadmConfigSpec

func Convert_v1beta1_KubeadmConfigSpec_To_v1beta2_KubeadmConfigSpec(in *KubeadmConfigSpec, out *bootstrapv1.KubeadmConfigSpec, s apimachineryconversion.Scope) error

func Convert_v1beta1_KubeadmConfigStatus_To_v1beta2_KubeadmConfigStatus

func Convert_v1beta1_KubeadmConfigStatus_To_v1beta2_KubeadmConfigStatus(in *KubeadmConfigStatus, out *bootstrapv1.KubeadmConfigStatus, s apimachineryconversion.Scope) error

func Convert_v1beta1_KubeadmConfigTemplateList_To_v1beta2_KubeadmConfigTemplateList

func Convert_v1beta1_KubeadmConfigTemplateList_To_v1beta2_KubeadmConfigTemplateList(in *KubeadmConfigTemplateList, out *v1beta2.KubeadmConfigTemplateList, s conversion.Scope) error

Convert_v1beta1_KubeadmConfigTemplateList_To_v1beta2_KubeadmConfigTemplateList is an autogenerated conversion function.

func Convert_v1beta1_KubeadmConfigTemplateResource_To_v1beta2_KubeadmConfigTemplateResource

func Convert_v1beta1_KubeadmConfigTemplateResource_To_v1beta2_KubeadmConfigTemplateResource(in *KubeadmConfigTemplateResource, out *v1beta2.KubeadmConfigTemplateResource, s conversion.Scope) error

Convert_v1beta1_KubeadmConfigTemplateResource_To_v1beta2_KubeadmConfigTemplateResource is an autogenerated conversion function.

func Convert_v1beta1_KubeadmConfigTemplateSpec_To_v1beta2_KubeadmConfigTemplateSpec

func Convert_v1beta1_KubeadmConfigTemplateSpec_To_v1beta2_KubeadmConfigTemplateSpec(in *KubeadmConfigTemplateSpec, out *v1beta2.KubeadmConfigTemplateSpec, s conversion.Scope) error

Convert_v1beta1_KubeadmConfigTemplateSpec_To_v1beta2_KubeadmConfigTemplateSpec is an autogenerated conversion function.

func Convert_v1beta1_KubeadmConfigTemplate_To_v1beta2_KubeadmConfigTemplate

func Convert_v1beta1_KubeadmConfigTemplate_To_v1beta2_KubeadmConfigTemplate(in *KubeadmConfigTemplate, out *v1beta2.KubeadmConfigTemplate, s conversion.Scope) error

Convert_v1beta1_KubeadmConfigTemplate_To_v1beta2_KubeadmConfigTemplate is an autogenerated conversion function.

func Convert_v1beta1_KubeadmConfig_To_v1beta2_KubeadmConfig

func Convert_v1beta1_KubeadmConfig_To_v1beta2_KubeadmConfig(in *KubeadmConfig, out *v1beta2.KubeadmConfig, s conversion.Scope) error

Convert_v1beta1_KubeadmConfig_To_v1beta2_KubeadmConfig is an autogenerated conversion function.

func Convert_v1beta1_LocalEtcd_To_v1beta2_LocalEtcd

func Convert_v1beta1_LocalEtcd_To_v1beta2_LocalEtcd(in *LocalEtcd, out *bootstrapv1.LocalEtcd, s apimachineryconversion.Scope) error

func Convert_v1beta1_NTP_To_v1beta2_NTP

func Convert_v1beta1_NTP_To_v1beta2_NTP(in *NTP, out *v1beta2.NTP, s conversion.Scope) error

Convert_v1beta1_NTP_To_v1beta2_NTP is an autogenerated conversion function.

func Convert_v1beta1_Partition_To_v1beta2_Partition

func Convert_v1beta1_Partition_To_v1beta2_Partition(in *Partition, out *v1beta2.Partition, s conversion.Scope) error

Convert_v1beta1_Partition_To_v1beta2_Partition is an autogenerated conversion function.

func Convert_v1beta1_PasswdSource_To_v1beta2_PasswdSource

func Convert_v1beta1_PasswdSource_To_v1beta2_PasswdSource(in *PasswdSource, out *v1beta2.PasswdSource, s conversion.Scope) error

Convert_v1beta1_PasswdSource_To_v1beta2_PasswdSource is an autogenerated conversion function.

func Convert_v1beta1_Patches_To_v1beta2_Patches

func Convert_v1beta1_Patches_To_v1beta2_Patches(in *Patches, out *v1beta2.Patches, s conversion.Scope) error

Convert_v1beta1_Patches_To_v1beta2_Patches is an autogenerated conversion function.

func Convert_v1beta1_SecretFileSource_To_v1beta2_SecretFileSource

func Convert_v1beta1_SecretFileSource_To_v1beta2_SecretFileSource(in *SecretFileSource, out *v1beta2.SecretFileSource, s conversion.Scope) error

Convert_v1beta1_SecretFileSource_To_v1beta2_SecretFileSource is an autogenerated conversion function.

func Convert_v1beta1_SecretPasswdSource_To_v1beta2_SecretPasswdSource

func Convert_v1beta1_SecretPasswdSource_To_v1beta2_SecretPasswdSource(in *SecretPasswdSource, out *v1beta2.SecretPasswdSource, s conversion.Scope) error

Convert_v1beta1_SecretPasswdSource_To_v1beta2_SecretPasswdSource is an autogenerated conversion function.

func Convert_v1beta1_User_To_v1beta2_User

func Convert_v1beta1_User_To_v1beta2_User(in *User, out *bootstrapv1.User, s apimachineryconversion.Scope) error

func Convert_v1beta2_APIEndpoint_To_v1beta1_APIEndpoint

func Convert_v1beta2_APIEndpoint_To_v1beta1_APIEndpoint(in *v1beta2.APIEndpoint, out *APIEndpoint, s conversion.Scope) error

Convert_v1beta2_APIEndpoint_To_v1beta1_APIEndpoint is an autogenerated conversion function.

func Convert_v1beta2_APIServer_To_v1beta1_APIServer

func Convert_v1beta2_APIServer_To_v1beta1_APIServer(in *bootstrapv1.APIServer, out *APIServer, s apimachineryconversion.Scope) error

func Convert_v1beta2_BootstrapTokenDiscovery_To_v1beta1_BootstrapTokenDiscovery

func Convert_v1beta2_BootstrapTokenDiscovery_To_v1beta1_BootstrapTokenDiscovery(in *v1beta2.BootstrapTokenDiscovery, out *BootstrapTokenDiscovery, s conversion.Scope) error

Convert_v1beta2_BootstrapTokenDiscovery_To_v1beta1_BootstrapTokenDiscovery is an autogenerated conversion function.

func Convert_v1beta2_BootstrapTokenString_To_v1beta1_BootstrapTokenString

func Convert_v1beta2_BootstrapTokenString_To_v1beta1_BootstrapTokenString(in *v1beta2.BootstrapTokenString, out *BootstrapTokenString, s conversion.Scope) error

Convert_v1beta2_BootstrapTokenString_To_v1beta1_BootstrapTokenString is an autogenerated conversion function.

func Convert_v1beta2_BootstrapToken_To_v1beta1_BootstrapToken

func Convert_v1beta2_BootstrapToken_To_v1beta1_BootstrapToken(in *bootstrapv1.BootstrapToken, out *BootstrapToken, s apimachineryconversion.Scope) error

func Convert_v1beta2_ClusterConfiguration_To_v1beta1_ClusterConfiguration

func Convert_v1beta2_ClusterConfiguration_To_v1beta1_ClusterConfiguration(in *bootstrapv1.ClusterConfiguration, out *ClusterConfiguration, s apimachineryconversion.Scope) error

func Convert_v1beta2_ContainerLinuxConfig_To_v1beta1_ContainerLinuxConfig

func Convert_v1beta2_ContainerLinuxConfig_To_v1beta1_ContainerLinuxConfig(in *v1beta2.ContainerLinuxConfig, out *ContainerLinuxConfig, s conversion.Scope) error

Convert_v1beta2_ContainerLinuxConfig_To_v1beta1_ContainerLinuxConfig is an autogenerated conversion function.

func Convert_v1beta2_ControllerManager_To_v1beta1_ControlPlaneComponent

func Convert_v1beta2_ControllerManager_To_v1beta1_ControlPlaneComponent(in *bootstrapv1.ControllerManager, out *ControlPlaneComponent, s apimachineryconversion.Scope) error

func Convert_v1beta2_DNS_To_v1beta1_DNS

func Convert_v1beta2_DNS_To_v1beta1_DNS(in *bootstrapv1.DNS, out *DNS, _ apimachineryconversion.Scope) error

func Convert_v1beta2_Discovery_To_v1beta1_Discovery

func Convert_v1beta2_Discovery_To_v1beta1_Discovery(in *bootstrapv1.Discovery, out *Discovery, s apimachineryconversion.Scope) error

func Convert_v1beta2_DiskSetup_To_v1beta1_DiskSetup

func Convert_v1beta2_DiskSetup_To_v1beta1_DiskSetup(in *v1beta2.DiskSetup, out *DiskSetup, s conversion.Scope) error

Convert_v1beta2_DiskSetup_To_v1beta1_DiskSetup is an autogenerated conversion function.

func Convert_v1beta2_EnvVar_To_v1beta1_EnvVar

func Convert_v1beta2_EnvVar_To_v1beta1_EnvVar(in *v1beta2.EnvVar, out *EnvVar, s conversion.Scope) error

Convert_v1beta2_EnvVar_To_v1beta1_EnvVar is an autogenerated conversion function.

func Convert_v1beta2_Etcd_To_v1beta1_Etcd

func Convert_v1beta2_Etcd_To_v1beta1_Etcd(in *bootstrapv1.Etcd, out *Etcd, s apimachineryconversion.Scope) error

func Convert_v1beta2_ExternalEtcd_To_v1beta1_ExternalEtcd

func Convert_v1beta2_ExternalEtcd_To_v1beta1_ExternalEtcd(in *v1beta2.ExternalEtcd, out *ExternalEtcd, s conversion.Scope) error

Convert_v1beta2_ExternalEtcd_To_v1beta1_ExternalEtcd is an autogenerated conversion function.

func Convert_v1beta2_FileDiscovery_To_v1beta1_FileDiscovery

func Convert_v1beta2_FileDiscovery_To_v1beta1_FileDiscovery(in *bootstrapv1.FileDiscovery, out *FileDiscovery, s apimachineryconversion.Scope) error

func Convert_v1beta2_FileSource_To_v1beta1_FileSource

func Convert_v1beta2_FileSource_To_v1beta1_FileSource(in *v1beta2.FileSource, out *FileSource, s conversion.Scope) error

Convert_v1beta2_FileSource_To_v1beta1_FileSource is an autogenerated conversion function.

func Convert_v1beta2_File_To_v1beta1_File

func Convert_v1beta2_File_To_v1beta1_File(in *bootstrapv1.File, out *File, s apimachineryconversion.Scope) error

func Convert_v1beta2_Filesystem_To_v1beta1_Filesystem

func Convert_v1beta2_Filesystem_To_v1beta1_Filesystem(in *v1beta2.Filesystem, out *Filesystem, s conversion.Scope) error

Convert_v1beta2_Filesystem_To_v1beta1_Filesystem is an autogenerated conversion function.

func Convert_v1beta2_HostPathMount_To_v1beta1_HostPathMount

func Convert_v1beta2_HostPathMount_To_v1beta1_HostPathMount(in *v1beta2.HostPathMount, out *HostPathMount, s conversion.Scope) error

Convert_v1beta2_HostPathMount_To_v1beta1_HostPathMount is an autogenerated conversion function.

func Convert_v1beta2_IgnitionSpec_To_v1beta1_IgnitionSpec

func Convert_v1beta2_IgnitionSpec_To_v1beta1_IgnitionSpec(in *bootstrapv1.IgnitionSpec, out *IgnitionSpec, s apimachineryconversion.Scope) error

func Convert_v1beta2_InitConfiguration_To_v1beta1_InitConfiguration

func Convert_v1beta2_InitConfiguration_To_v1beta1_InitConfiguration(in *bootstrapv1.InitConfiguration, out *InitConfiguration, s apimachineryconversion.Scope) error

func Convert_v1beta2_JoinConfiguration_To_v1beta1_JoinConfiguration

func Convert_v1beta2_JoinConfiguration_To_v1beta1_JoinConfiguration(in *bootstrapv1.JoinConfiguration, out *JoinConfiguration, s apimachineryconversion.Scope) error

func Convert_v1beta2_JoinControlPlane_To_v1beta1_JoinControlPlane

func Convert_v1beta2_JoinControlPlane_To_v1beta1_JoinControlPlane(in *v1beta2.JoinControlPlane, out *JoinControlPlane, s conversion.Scope) error

Convert_v1beta2_JoinControlPlane_To_v1beta1_JoinControlPlane is an autogenerated conversion function.

func Convert_v1beta2_KubeConfigAuthExecEnv_To_v1beta1_KubeConfigAuthExecEnv

func Convert_v1beta2_KubeConfigAuthExecEnv_To_v1beta1_KubeConfigAuthExecEnv(in *v1beta2.KubeConfigAuthExecEnv, out *KubeConfigAuthExecEnv, s conversion.Scope) error

Convert_v1beta2_KubeConfigAuthExecEnv_To_v1beta1_KubeConfigAuthExecEnv is an autogenerated conversion function.

func Convert_v1beta2_KubeConfigAuthExec_To_v1beta1_KubeConfigAuthExec

func Convert_v1beta2_KubeConfigAuthExec_To_v1beta1_KubeConfigAuthExec(in *v1beta2.KubeConfigAuthExec, out *KubeConfigAuthExec, s conversion.Scope) error

Convert_v1beta2_KubeConfigAuthExec_To_v1beta1_KubeConfigAuthExec is an autogenerated conversion function.

func Convert_v1beta2_KubeConfigAuthProvider_To_v1beta1_KubeConfigAuthProvider

func Convert_v1beta2_KubeConfigAuthProvider_To_v1beta1_KubeConfigAuthProvider(in *v1beta2.KubeConfigAuthProvider, out *KubeConfigAuthProvider, s conversion.Scope) error

Convert_v1beta2_KubeConfigAuthProvider_To_v1beta1_KubeConfigAuthProvider is an autogenerated conversion function.

func Convert_v1beta2_KubeConfigCluster_To_v1beta1_KubeConfigCluster

func Convert_v1beta2_KubeConfigCluster_To_v1beta1_KubeConfigCluster(in *v1beta2.KubeConfigCluster, out *KubeConfigCluster, s conversion.Scope) error

Convert_v1beta2_KubeConfigCluster_To_v1beta1_KubeConfigCluster is an autogenerated conversion function.

func Convert_v1beta2_KubeConfigUser_To_v1beta1_KubeConfigUser

func Convert_v1beta2_KubeConfigUser_To_v1beta1_KubeConfigUser(in *bootstrapv1.KubeConfigUser, out *KubeConfigUser, s apimachineryconversion.Scope) error

func Convert_v1beta2_KubeadmConfigList_To_v1beta1_KubeadmConfigList

func Convert_v1beta2_KubeadmConfigList_To_v1beta1_KubeadmConfigList(in *v1beta2.KubeadmConfigList, out *KubeadmConfigList, s conversion.Scope) error

Convert_v1beta2_KubeadmConfigList_To_v1beta1_KubeadmConfigList is an autogenerated conversion function.

func Convert_v1beta2_KubeadmConfigSpec_To_v1beta1_KubeadmConfigSpec

func Convert_v1beta2_KubeadmConfigSpec_To_v1beta1_KubeadmConfigSpec(in *bootstrapv1.KubeadmConfigSpec, out *KubeadmConfigSpec, s apimachineryconversion.Scope) error

func Convert_v1beta2_KubeadmConfigStatus_To_v1beta1_KubeadmConfigStatus

func Convert_v1beta2_KubeadmConfigStatus_To_v1beta1_KubeadmConfigStatus(in *bootstrapv1.KubeadmConfigStatus, out *KubeadmConfigStatus, s apimachineryconversion.Scope) error

func Convert_v1beta2_KubeadmConfigTemplateList_To_v1beta1_KubeadmConfigTemplateList

func Convert_v1beta2_KubeadmConfigTemplateList_To_v1beta1_KubeadmConfigTemplateList(in *v1beta2.KubeadmConfigTemplateList, out *KubeadmConfigTemplateList, s conversion.Scope) error

Convert_v1beta2_KubeadmConfigTemplateList_To_v1beta1_KubeadmConfigTemplateList is an autogenerated conversion function.

func Convert_v1beta2_KubeadmConfigTemplateResource_To_v1beta1_KubeadmConfigTemplateResource

func Convert_v1beta2_KubeadmConfigTemplateResource_To_v1beta1_KubeadmConfigTemplateResource(in *v1beta2.KubeadmConfigTemplateResource, out *KubeadmConfigTemplateResource, s conversion.Scope) error

Convert_v1beta2_KubeadmConfigTemplateResource_To_v1beta1_KubeadmConfigTemplateResource is an autogenerated conversion function.

func Convert_v1beta2_KubeadmConfigTemplateSpec_To_v1beta1_KubeadmConfigTemplateSpec

func Convert_v1beta2_KubeadmConfigTemplateSpec_To_v1beta1_KubeadmConfigTemplateSpec(in *v1beta2.KubeadmConfigTemplateSpec, out *KubeadmConfigTemplateSpec, s conversion.Scope) error

Convert_v1beta2_KubeadmConfigTemplateSpec_To_v1beta1_KubeadmConfigTemplateSpec is an autogenerated conversion function.

func Convert_v1beta2_KubeadmConfigTemplate_To_v1beta1_KubeadmConfigTemplate

func Convert_v1beta2_KubeadmConfigTemplate_To_v1beta1_KubeadmConfigTemplate(in *v1beta2.KubeadmConfigTemplate, out *KubeadmConfigTemplate, s conversion.Scope) error

Convert_v1beta2_KubeadmConfigTemplate_To_v1beta1_KubeadmConfigTemplate is an autogenerated conversion function.

func Convert_v1beta2_KubeadmConfig_To_v1beta1_KubeadmConfig

func Convert_v1beta2_KubeadmConfig_To_v1beta1_KubeadmConfig(in *v1beta2.KubeadmConfig, out *KubeadmConfig, s conversion.Scope) error

Convert_v1beta2_KubeadmConfig_To_v1beta1_KubeadmConfig is an autogenerated conversion function.

func Convert_v1beta2_LocalEtcd_To_v1beta1_LocalEtcd

func Convert_v1beta2_LocalEtcd_To_v1beta1_LocalEtcd(in *bootstrapv1.LocalEtcd, out *LocalEtcd, s apimachineryconversion.Scope) error

func Convert_v1beta2_NTP_To_v1beta1_NTP

func Convert_v1beta2_NTP_To_v1beta1_NTP(in *v1beta2.NTP, out *NTP, s conversion.Scope) error

Convert_v1beta2_NTP_To_v1beta1_NTP is an autogenerated conversion function.

func Convert_v1beta2_Partition_To_v1beta1_Partition

func Convert_v1beta2_Partition_To_v1beta1_Partition(in *v1beta2.Partition, out *Partition, s conversion.Scope) error

Convert_v1beta2_Partition_To_v1beta1_Partition is an autogenerated conversion function.

func Convert_v1beta2_PasswdSource_To_v1beta1_PasswdSource

func Convert_v1beta2_PasswdSource_To_v1beta1_PasswdSource(in *v1beta2.PasswdSource, out *PasswdSource, s conversion.Scope) error

Convert_v1beta2_PasswdSource_To_v1beta1_PasswdSource is an autogenerated conversion function.

func Convert_v1beta2_Patches_To_v1beta1_Patches

func Convert_v1beta2_Patches_To_v1beta1_Patches(in *v1beta2.Patches, out *Patches, s conversion.Scope) error

Convert_v1beta2_Patches_To_v1beta1_Patches is an autogenerated conversion function.

func Convert_v1beta2_Scheduler_To_v1beta1_ControlPlaneComponent

func Convert_v1beta2_Scheduler_To_v1beta1_ControlPlaneComponent(in *bootstrapv1.Scheduler, out *ControlPlaneComponent, s apimachineryconversion.Scope) error

func Convert_v1beta2_SecretFileSource_To_v1beta1_SecretFileSource

func Convert_v1beta2_SecretFileSource_To_v1beta1_SecretFileSource(in *v1beta2.SecretFileSource, out *SecretFileSource, s conversion.Scope) error

Convert_v1beta2_SecretFileSource_To_v1beta1_SecretFileSource is an autogenerated conversion function.

func Convert_v1beta2_SecretPasswdSource_To_v1beta1_SecretPasswdSource

func Convert_v1beta2_SecretPasswdSource_To_v1beta1_SecretPasswdSource(in *v1beta2.SecretPasswdSource, out *SecretPasswdSource, s conversion.Scope) error

Convert_v1beta2_SecretPasswdSource_To_v1beta1_SecretPasswdSource is an autogenerated conversion function.

func Convert_v1beta2_User_To_v1beta1_User

func Convert_v1beta2_User_To_v1beta1_User(in *bootstrapv1.User, out *User, s apimachineryconversion.Scope) error

func RegisterConversions

func RegisterConversions(s *runtime.Scheme) error

RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.

func RestoreBoolIntentKubeadmConfigSpec

func RestoreBoolIntentKubeadmConfigSpec(src *KubeadmConfigSpec, dst *bootstrapv1.KubeadmConfigSpec, hasRestored bool, restored *bootstrapv1.KubeadmConfigSpec) error

func RestoreKubeadmConfigSpec

func RestoreKubeadmConfigSpec(restored *bootstrapv1.KubeadmConfigSpec, dst *bootstrapv1.KubeadmConfigSpec)

Types

type APIEndpoint

type APIEndpoint struct {
	// advertiseAddress sets the IP address for the API server to advertise.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=39
	AdvertiseAddress string `json:"advertiseAddress,omitempty"`

	// bindPort sets the secure port for the API Server to bind to.
	// Defaults to 6443.
	// +optional
	BindPort int32 `json:"bindPort,omitempty"`
}

APIEndpoint struct contains elements of API server instance deployed on a node.

func (*APIEndpoint) DeepCopy

func (in *APIEndpoint) DeepCopy() *APIEndpoint

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

func (*APIEndpoint) DeepCopyInto

func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)

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

type APIServer

type APIServer struct {
	ControlPlaneComponent `json:",inline"`

	// certSANs sets extra Subject Alternative Names for the API Server signing cert.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=253
	CertSANs []string `json:"certSANs,omitempty"`

	// timeoutForControlPlane controls the timeout that we use for API server to appear
	// +optional
	TimeoutForControlPlane *metav1.Duration `json:"timeoutForControlPlane,omitempty"`
}

APIServer holds settings necessary for API server deployments in the cluster.

func (*APIServer) DeepCopy

func (in *APIServer) DeepCopy() *APIServer

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

func (*APIServer) DeepCopyInto

func (in *APIServer) DeepCopyInto(out *APIServer)

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

type BootstrapToken

type BootstrapToken struct {
	// token is used for establishing bidirectional trust between nodes and control-planes.
	// Used for joining nodes in the cluster.
	// +required
	Token *BootstrapTokenString `json:"token"`
	// description sets a human-friendly message why this token exists and what it's used
	// for, so other administrators can know its purpose.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitempty"`
	// ttl defines the time to live for this token. Defaults to 24h.
	// Expires and TTL are mutually exclusive.
	// +optional
	TTL *metav1.Duration `json:"ttl,omitempty"`
	// expires specifies the timestamp when this token expires. Defaults to being set
	// dynamically at runtime based on the TTL. Expires and TTL are mutually exclusive.
	// +optional
	Expires *metav1.Time `json:"expires,omitempty"`
	// usages describes the ways in which this token can be used. Can by default be used
	// for establishing bidirectional trust, but that can be changed here.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=256
	Usages []string `json:"usages,omitempty"`
	// groups specifies the extra groups that this token will authenticate as when/if
	// used for authentication
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=256
	Groups []string `json:"groups,omitempty"`
}

BootstrapToken describes one bootstrap token, stored as a Secret in the cluster.

func (*BootstrapToken) DeepCopy

func (in *BootstrapToken) DeepCopy() *BootstrapToken

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

func (*BootstrapToken) DeepCopyInto

func (in *BootstrapToken) DeepCopyInto(out *BootstrapToken)

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

type BootstrapTokenDiscovery

type BootstrapTokenDiscovery struct {
	// token is a token used to validate cluster information
	// fetched from the control-plane.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	Token string `json:"token,omitempty"`

	// apiServerEndpoint is an IP or domain name to the API server from which info will be fetched.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	APIServerEndpoint string `json:"apiServerEndpoint,omitempty"`

	// caCertHashes specifies a set of public key pins to verify
	// when token-based discovery is used. The root CA found during discovery
	// must match one of these values. Specifying an empty set disables root CA
	// pinning, which can be unsafe. Each hash is specified as "<type>:<value>",
	// where the only currently supported type is "sha256". This is a hex-encoded
	// SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded
	// ASN.1. These hashes can be calculated using, for example, OpenSSL:
	// openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=512
	CACertHashes []string `json:"caCertHashes,omitempty"`

	// unsafeSkipCAVerification allows token-based discovery
	// without CA verification via CACertHashes. This can weaken
	// the security of kubeadm since other nodes can impersonate the control-plane.
	// +optional
	UnsafeSkipCAVerification bool `json:"unsafeSkipCAVerification,omitempty"`
}

BootstrapTokenDiscovery is used to set the options for bootstrap token based discovery.

func (*BootstrapTokenDiscovery) DeepCopy

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

func (*BootstrapTokenDiscovery) DeepCopyInto

func (in *BootstrapTokenDiscovery) DeepCopyInto(out *BootstrapTokenDiscovery)

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

type BootstrapTokenString

type BootstrapTokenString struct {
	ID     string `json:"-"`
	Secret string `json:"-"`
}

BootstrapTokenString is a token of the format abcdef.abcdef0123456789 that is used for both validation of the practically of the API server from a joining node's point of view and as an authentication method for the node in the bootstrap phase of "kubeadm join". This token is and should be short-lived.

+kubebuilder:validation:Type=string

func NewBootstrapTokenString

func NewBootstrapTokenString(token string) (*BootstrapTokenString, error)

NewBootstrapTokenString converts the given Bootstrap Token as a string to the BootstrapTokenString object used for serialization/deserialization and internal usage. It also automatically validates that the given token is of the right format.

func (*BootstrapTokenString) DeepCopy

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

func (*BootstrapTokenString) DeepCopyInto

func (in *BootstrapTokenString) DeepCopyInto(out *BootstrapTokenString)

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

func (BootstrapTokenString) MarshalJSON

func (bts BootstrapTokenString) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (BootstrapTokenString) String

func (bts BootstrapTokenString) String() string

String returns the string representation of the BootstrapTokenString.

func (*BootstrapTokenString) UnmarshalJSON

func (bts *BootstrapTokenString) UnmarshalJSON(b []byte) error

UnmarshalJSON implements the json.Unmarshaller interface.

type ClusterConfiguration

type ClusterConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	// etcd holds configuration for etcd.
	// NB: This value defaults to a Local (stacked) etcd
	// +optional
	Etcd Etcd `json:"etcd,omitempty"`

	// networking holds configuration for the networking topology of the cluster.
	// NB: This value defaults to the Cluster object spec.clusterNetwork.
	// +optional
	Networking Networking `json:"networking,omitempty"`

	// kubernetesVersion is the target version of the control plane.
	// NB: This value defaults to the Machine object spec.version
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	KubernetesVersion string `json:"kubernetesVersion,omitempty"`

	// controlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it
	// can be a valid IP address or a RFC-1123 DNS subdomain, both with optional TCP port.
	// In case the ControlPlaneEndpoint is not specified, the AdvertiseAddress + BindPort
	// are used; in case the ControlPlaneEndpoint is specified but without a TCP port,
	// the BindPort is used.
	// Possible usages are:
	// e.g. In a cluster with more than one control plane instances, this field should be
	// assigned the address of the external load balancer in front of the
	// control plane instances.
	// e.g.  in environments with enforced node recycling, the ControlPlaneEndpoint
	// could be used for assigning a stable DNS to the control plane.
	// NB: This value defaults to the first value in the Cluster object status.apiEndpoints array.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	ControlPlaneEndpoint string `json:"controlPlaneEndpoint,omitempty"`

	// apiServer contains extra settings for the API server control plane component
	// +optional
	APIServer APIServer `json:"apiServer,omitempty"`

	// controllerManager contains extra settings for the controller manager control plane component
	// +optional
	ControllerManager ControlPlaneComponent `json:"controllerManager,omitempty"`

	// scheduler contains extra settings for the scheduler control plane component
	// +optional
	Scheduler ControlPlaneComponent `json:"scheduler,omitempty"`

	// dns defines the options for the DNS add-on installed in the cluster.
	// +optional
	DNS DNS `json:"dns,omitempty"`

	// certificatesDir specifies where to store or look for all required certificates.
	// NB: if not provided, this will default to `/etc/kubernetes/pki`
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	CertificatesDir string `json:"certificatesDir,omitempty"`

	// imageRepository sets the container registry to pull images from.
	// * If not set, the default registry of kubeadm will be used, i.e.
	//   * registry.k8s.io (new registry): >= v1.22.17, >= v1.23.15, >= v1.24.9, >= v1.25.0
	//   * k8s.gcr.io (old registry): all older versions
	//   Please note that when imageRepository is not set we don't allow upgrades to
	//   versions >= v1.22.0 which use the old registry (k8s.gcr.io). Please use
	//   a newer patch version with the new registry instead (i.e. >= v1.22.17,
	//   >= v1.23.15, >= v1.24.9, >= v1.25.0).
	// * If the version is a CI build (kubernetes version starts with `ci/` or `ci-cross/`)
	//  `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components
	//   and for kube-proxy, while `registry.k8s.io` will be used for all the other images.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	ImageRepository string `json:"imageRepository,omitempty"`

	// featureGates enabled by the user.
	// +optional
	FeatureGates map[string]bool `json:"featureGates,omitempty"`

	// clusterName is the cluster name
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	ClusterName string `json:"clusterName,omitempty"`
}

ClusterConfiguration contains cluster-wide configuration for a kubeadm cluster.

func (*ClusterConfiguration) DeepCopy

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

func (*ClusterConfiguration) DeepCopyInto

func (in *ClusterConfiguration) DeepCopyInto(out *ClusterConfiguration)

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

func (*ClusterConfiguration) DeepCopyObject

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

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

type ClusterStatus deprecated

type ClusterStatus struct {
	metav1.TypeMeta `json:",inline"`

	// apiEndpoints currently available in the cluster, one for each control plane/api server instance.
	// The key of the map is the IP of the host's default interface
	// +optional
	APIEndpoints map[string]APIEndpoint `json:"apiEndpoints"`
}

ClusterStatus contains the cluster status. The ClusterStatus will be stored in the kubeadm-config ConfigMap in the cluster, and then updated by kubeadm when additional control plane instance joins or leaves the cluster.

Deprecated: ClusterStatus has been removed from kubeadm v1beta3 API; This type is preserved only to support conversion to older versions of the kubeadm API.

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.

func (*ClusterStatus) DeepCopyObject

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

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

type ContainerLinuxConfig

type ContainerLinuxConfig struct {
	// additionalConfig contains additional configuration to be merged with the Ignition
	// configuration generated by the bootstrapper controller. More info: https://coreos.github.io/ignition/operator-notes/#config-merging
	//
	// The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=32768
	AdditionalConfig string `json:"additionalConfig,omitempty"`

	// strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors.
	// +optional
	Strict bool `json:"strict,omitempty"`
}

ContainerLinuxConfig contains CLC-specific configuration.

We use a structured type here to allow adding additional fields, for example 'version'.

func (*ContainerLinuxConfig) DeepCopy

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

func (*ContainerLinuxConfig) DeepCopyInto

func (in *ContainerLinuxConfig) DeepCopyInto(out *ContainerLinuxConfig)

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

type ControlPlaneComponent

type ControlPlaneComponent struct {
	// extraArgs is an extra set of flags to pass to the control plane component.
	// TODO: This is temporary and ideally we would like to switch all components to use ComponentConfig + ConfigMaps.
	// +optional
	ExtraArgs map[string]string `json:"extraArgs,omitempty"`

	// extraVolumes is an extra set of host volumes, mounted to the control plane component.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	ExtraVolumes []HostPathMount `json:"extraVolumes,omitempty"`

	// extraEnvs is an extra set of environment variables to pass to the control plane component.
	// Environment variables passed using ExtraEnvs will override any existing environment variables, or *_proxy environment variables that kubeadm adds by default.
	// This option takes effect only on Kubernetes >=1.31.0.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	ExtraEnvs []EnvVar `json:"extraEnvs,omitempty"`
}

ControlPlaneComponent holds settings common to control plane component of the cluster.

func (*ControlPlaneComponent) DeepCopy

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

func (*ControlPlaneComponent) DeepCopyInto

func (in *ControlPlaneComponent) DeepCopyInto(out *ControlPlaneComponent)

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

type DNS

type DNS struct {
	// ImageMeta allows to customize the image used for the DNS component
	ImageMeta `json:",inline"`
}

DNS defines the DNS addon that should be used in the cluster.

func (*DNS) DeepCopy

func (in *DNS) DeepCopy() *DNS

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

func (*DNS) DeepCopyInto

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

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

type Discovery

type Discovery struct {
	// bootstrapToken is used to set the options for bootstrap token based discovery
	// BootstrapToken and File are mutually exclusive
	// +optional
	BootstrapToken *BootstrapTokenDiscovery `json:"bootstrapToken,omitempty"`

	// file is used to specify a file or URL to a kubeconfig file from which to load cluster information
	// BootstrapToken and File are mutually exclusive
	// +optional
	File *FileDiscovery `json:"file,omitempty"`

	// tlsBootstrapToken is a token used for TLS bootstrapping.
	// If .BootstrapToken is set, this field is defaulted to .BootstrapToken.Token, but can be overridden.
	// If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	TLSBootstrapToken string `json:"tlsBootstrapToken,omitempty"`

	// timeout modifies the discovery timeout
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

Discovery specifies the options for the kubelet to use during the TLS Bootstrap process.

func (*Discovery) DeepCopy

func (in *Discovery) DeepCopy() *Discovery

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

func (*Discovery) DeepCopyInto

func (in *Discovery) DeepCopyInto(out *Discovery)

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

type DiskSetup

type DiskSetup struct {
	// partitions specifies the list of the partitions to setup.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	Partitions []Partition `json:"partitions,omitempty"`

	// filesystems specifies the list of file systems to setup.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	Filesystems []Filesystem `json:"filesystems,omitempty"`
}

DiskSetup defines input for generated disk_setup and fs_setup in cloud-init.

func (*DiskSetup) DeepCopy

func (in *DiskSetup) DeepCopy() *DiskSetup

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

func (*DiskSetup) DeepCopyInto

func (in *DiskSetup) DeepCopyInto(out *DiskSetup)

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

type Encoding

type Encoding string

Encoding specifies the cloud-init file encoding. +kubebuilder:validation:Enum=base64;gzip;gzip+base64

const (
	// Base64 implies the contents of the file are encoded as base64.
	Base64 Encoding = "base64"
	// Gzip implies the contents of the file are encoded with gzip.
	Gzip Encoding = "gzip"
	// GzipBase64 implies the contents of the file are first base64 encoded and then gzip encoded.
	GzipBase64 Encoding = "gzip+base64"
)

type EnvVar

type EnvVar struct {
	corev1.EnvVar `json:",inline"`
}

EnvVar represents an environment variable present in a Container.

func (*EnvVar) DeepCopy

func (in *EnvVar) DeepCopy() *EnvVar

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

func (*EnvVar) DeepCopyInto

func (in *EnvVar) DeepCopyInto(out *EnvVar)

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

type Etcd

type Etcd struct {

	// local provides configuration knobs for configuring the local etcd instance
	// Local and External are mutually exclusive
	// +optional
	Local *LocalEtcd `json:"local,omitempty"`

	// external describes how to connect to an external etcd cluster
	// Local and External are mutually exclusive
	// +optional
	External *ExternalEtcd `json:"external,omitempty"`
}

Etcd contains elements describing Etcd configuration.

func (*Etcd) DeepCopy

func (in *Etcd) DeepCopy() *Etcd

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

func (*Etcd) DeepCopyInto

func (in *Etcd) DeepCopyInto(out *Etcd)

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

type ExternalEtcd

type ExternalEtcd struct {
	// endpoints of etcd members. Required for ExternalEtcd.
	// +required
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=512
	Endpoints []string `json:"endpoints"`

	// caFile is an SSL Certificate Authority file used to secure etcd communication.
	// Required if using a TLS connection.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	CAFile string `json:"caFile"`

	// certFile is an SSL certification file used to secure etcd communication.
	// Required if using a TLS connection.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	CertFile string `json:"certFile"`

	// keyFile is an SSL key file used to secure etcd communication.
	// Required if using a TLS connection.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	KeyFile string `json:"keyFile"`
}

ExternalEtcd describes an external etcd cluster. Kubeadm has no knowledge of where certificate files live and they must be supplied.

func (*ExternalEtcd) DeepCopy

func (in *ExternalEtcd) DeepCopy() *ExternalEtcd

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

func (*ExternalEtcd) DeepCopyInto

func (in *ExternalEtcd) DeepCopyInto(out *ExternalEtcd)

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

type File

type File struct {
	// path specifies the full path on disk where to store the file.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	Path string `json:"path"`

	// owner specifies the ownership of the file, e.g. "root:root".
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Owner string `json:"owner,omitempty"`

	// permissions specifies the permissions to assign to the file, e.g. "0640".
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=16
	Permissions string `json:"permissions,omitempty"`

	// encoding specifies the encoding of the file contents.
	// +optional
	Encoding Encoding `json:"encoding,omitempty"`

	// append specifies whether to append Content to existing file if Path exists.
	// +optional
	Append bool `json:"append,omitempty"`

	// content is the actual content of the file.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=10240
	Content string `json:"content,omitempty"`

	// contentFrom is a referenced source of content to populate the file.
	// +optional
	ContentFrom *FileSource `json:"contentFrom,omitempty"`
}

File defines the input for generating write_files in cloud-init.

func (*File) DeepCopy

func (in *File) DeepCopy() *File

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

func (*File) DeepCopyInto

func (in *File) DeepCopyInto(out *File)

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

type FileDiscovery

type FileDiscovery struct {
	// kubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	KubeConfigPath string `json:"kubeConfigPath"`

	// kubeConfig is used (optionally) to generate a KubeConfig based on the KubeadmConfig's information.
	// The file is generated at the path specified in KubeConfigPath.
	//
	// Host address (server field) information is automatically populated based on the Cluster's ControlPlaneEndpoint.
	// Certificate Authority (certificate-authority-data field) is gathered from the cluster's CA secret.
	//
	// +optional
	KubeConfig *FileDiscoveryKubeConfig `json:"kubeConfig,omitempty"`
}

FileDiscovery is used to specify a file or URL to a kubeconfig file from which to load cluster information.

func (*FileDiscovery) DeepCopy

func (in *FileDiscovery) DeepCopy() *FileDiscovery

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

func (*FileDiscovery) DeepCopyInto

func (in *FileDiscovery) DeepCopyInto(out *FileDiscovery)

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

type FileDiscoveryKubeConfig

type FileDiscoveryKubeConfig struct {
	// cluster contains information about how to communicate with the kubernetes cluster.
	//
	// By default the following fields are automatically populated:
	// - Server with the Cluster's ControlPlaneEndpoint.
	// - CertificateAuthorityData with the Cluster's CA certificate.
	// +optional
	Cluster *KubeConfigCluster `json:"cluster,omitempty"`

	// user contains information that describes identity information.
	// This is used to tell the kubernetes cluster who you are.
	// +required
	User KubeConfigUser `json:"user"`
}

FileDiscoveryKubeConfig contains elements describing how to generate the kubeconfig for bootstrapping.

func (*FileDiscoveryKubeConfig) DeepCopy

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

func (*FileDiscoveryKubeConfig) DeepCopyInto

func (in *FileDiscoveryKubeConfig) DeepCopyInto(out *FileDiscoveryKubeConfig)

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

type FileSource

type FileSource struct {
	// secret represents a secret that should populate this file.
	// +required
	Secret SecretFileSource `json:"secret"`
}

FileSource is a union of all possible external source types for file data. Only one field may be populated in any given instance. Developers adding new sources of data for target systems should add them here.

func (*FileSource) DeepCopy

func (in *FileSource) DeepCopy() *FileSource

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

func (*FileSource) DeepCopyInto

func (in *FileSource) DeepCopyInto(out *FileSource)

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

type Filesystem

type Filesystem struct {
	// device specifies the device name
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Device string `json:"device"`

	// filesystem specifies the file system type.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Filesystem string `json:"filesystem"`

	// label specifies the file system label to be used. If set to None, no label is used.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	Label string `json:"label,omitempty"`

	// partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and <NUM>, where NUM is the actual partition number.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Partition *string `json:"partition,omitempty"`

	// overwrite defines whether or not to overwrite any existing filesystem.
	// If true, any pre-existing file system will be destroyed. Use with Caution.
	// +optional
	Overwrite *bool `json:"overwrite,omitempty"`

	// replaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of <FS_TYPE>.
	// NOTE: unless you define a label, this requires the use of the 'any' partition directive.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	ReplaceFS *string `json:"replaceFS,omitempty"`

	// extraOpts defined extra options to add to the command for creating the file system.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=256
	ExtraOpts []string `json:"extraOpts,omitempty"`
}

Filesystem defines the file systems to be created.

func (*Filesystem) DeepCopy

func (in *Filesystem) DeepCopy() *Filesystem

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

func (*Filesystem) DeepCopyInto

func (in *Filesystem) DeepCopyInto(out *Filesystem)

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

type Format

type Format string

Format specifies the output format of the bootstrap data +kubebuilder:validation:Enum=cloud-config;ignition

const (
	// CloudConfig make the bootstrap data to be of cloud-config format.
	CloudConfig Format = "cloud-config"

	// Ignition make the bootstrap data to be of Ignition format.
	Ignition Format = "ignition"
)

type HostPathMount

type HostPathMount struct {
	// name of the volume inside the pod template.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	Name string `json:"name"`
	// hostPath is the path in the host that will be mounted inside
	// the pod.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	HostPath string `json:"hostPath"`
	// mountPath is the path inside the pod where hostPath will be mounted.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	MountPath string `json:"mountPath"`
	// readOnly controls write access to the volume
	// +optional
	ReadOnly bool `json:"readOnly,omitempty"`
	// pathType is the type of the HostPath.
	// +optional
	PathType corev1.HostPathType `json:"pathType,omitempty"`
}

HostPathMount contains elements describing volumes that are mounted from the host.

func (*HostPathMount) DeepCopy

func (in *HostPathMount) DeepCopy() *HostPathMount

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

func (*HostPathMount) DeepCopyInto

func (in *HostPathMount) DeepCopyInto(out *HostPathMount)

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

type IgnitionSpec

type IgnitionSpec struct {
	// containerLinuxConfig contains CLC specific configuration.
	// +optional
	ContainerLinuxConfig *ContainerLinuxConfig `json:"containerLinuxConfig,omitempty"`
}

IgnitionSpec contains Ignition specific configuration.

func (*IgnitionSpec) DeepCopy

func (in *IgnitionSpec) DeepCopy() *IgnitionSpec

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

func (*IgnitionSpec) DeepCopyInto

func (in *IgnitionSpec) DeepCopyInto(out *IgnitionSpec)

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

type ImageMeta

type ImageMeta struct {
	// imageRepository sets the container registry to pull images from.
	// if not set, the ImageRepository defined in ClusterConfiguration will be used instead.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	ImageRepository string `json:"imageRepository,omitempty"`

	// imageTag allows to specify a tag for the image.
	// In case this value is set, kubeadm does not change automatically the version of the above components during upgrades.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	ImageTag string `json:"imageTag,omitempty"`
}

ImageMeta allows to customize the image used for components that are not originated from the Kubernetes/Kubernetes release process.

func (*ImageMeta) DeepCopy

func (in *ImageMeta) DeepCopy() *ImageMeta

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

func (*ImageMeta) DeepCopyInto

func (in *ImageMeta) DeepCopyInto(out *ImageMeta)

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

type InitConfiguration

type InitConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	// bootstrapTokens is respected at `kubeadm init` time and describes a set of Bootstrap Tokens to create.
	// This information IS NOT uploaded to the kubeadm cluster configmap, partly because of its sensitive nature
	// +optional
	// +kubebuilder:validation:MaxItems=100
	BootstrapTokens []BootstrapToken `json:"bootstrapTokens,omitempty"`

	// nodeRegistration holds fields that relate to registering the new control-plane node to the cluster.
	// When used in the context of control plane nodes, NodeRegistration should remain consistent
	// across both InitConfiguration and JoinConfiguration
	// +optional
	NodeRegistration NodeRegistrationOptions `json:"nodeRegistration,omitempty"`

	// localAPIEndpoint represents the endpoint of the API server instance that's deployed on this control plane node
	// In HA setups, this differs from ClusterConfiguration.ControlPlaneEndpoint in the sense that ControlPlaneEndpoint
	// is the global endpoint for the cluster, which then loadbalances the requests to each individual API server. This
	// configuration object lets you customize what IP/DNS name and port the local API server advertises it's accessible
	// on. By default, kubeadm tries to auto-detect the IP of the default interface and use that, but in case that process
	// fails you may set the desired value here.
	// +optional
	LocalAPIEndpoint APIEndpoint `json:"localAPIEndpoint,omitempty"`

	// skipPhases is a list of phases to skip during command execution.
	// The list of phases can be obtained with the "kubeadm init --help" command.
	// This option takes effect only on Kubernetes >=1.22.0.
	// +optional
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=256
	SkipPhases []string `json:"skipPhases,omitempty"`

	// patches contains options related to applying patches to components deployed by kubeadm during
	// "kubeadm init". The minimum kubernetes version needed to support Patches is v1.22
	// +optional
	Patches *Patches `json:"patches,omitempty"`
}

InitConfiguration contains a list of elements that is specific "kubeadm init"-only runtime information.

func (*InitConfiguration) DeepCopy

func (in *InitConfiguration) DeepCopy() *InitConfiguration

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

func (*InitConfiguration) DeepCopyInto

func (in *InitConfiguration) DeepCopyInto(out *InitConfiguration)

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

func (*InitConfiguration) DeepCopyObject

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

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

type JoinConfiguration

type JoinConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	// nodeRegistration holds fields that relate to registering the new control-plane node to the cluster.
	// When used in the context of control plane nodes, NodeRegistration should remain consistent
	// across both InitConfiguration and JoinConfiguration
	// +optional
	NodeRegistration NodeRegistrationOptions `json:"nodeRegistration,omitempty"`

	// caCertPath is the path to the SSL certificate authority used to
	// secure comunications between node and control-plane.
	// Defaults to "/etc/kubernetes/pki/ca.crt".
	// +optional
	// TODO: revisit when there is defaulting from k/k
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	CACertPath string `json:"caCertPath,omitempty"`

	// discovery specifies the options for the kubelet to use during the TLS Bootstrap process
	// +optional
	// TODO: revisit when there is defaulting from k/k
	Discovery Discovery `json:"discovery,omitempty"`

	// controlPlane defines the additional control plane instance to be deployed on the joining node.
	// If nil, no additional control plane instance will be deployed.
	// +optional
	ControlPlane *JoinControlPlane `json:"controlPlane,omitempty"`

	// skipPhases is a list of phases to skip during command execution.
	// The list of phases can be obtained with the "kubeadm init --help" command.
	// This option takes effect only on Kubernetes >=1.22.0.
	// +optional
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=256
	SkipPhases []string `json:"skipPhases,omitempty"`

	// patches contains options related to applying patches to components deployed by kubeadm during
	// "kubeadm join". The minimum kubernetes version needed to support Patches is v1.22
	// +optional
	Patches *Patches `json:"patches,omitempty"`
}

JoinConfiguration contains elements describing a particular node.

func (*JoinConfiguration) DeepCopy

func (in *JoinConfiguration) DeepCopy() *JoinConfiguration

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

func (*JoinConfiguration) DeepCopyInto

func (in *JoinConfiguration) DeepCopyInto(out *JoinConfiguration)

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

func (*JoinConfiguration) DeepCopyObject

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

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

type JoinControlPlane

type JoinControlPlane struct {
	// localAPIEndpoint represents the endpoint of the API server instance to be deployed on this node.
	// +optional
	LocalAPIEndpoint APIEndpoint `json:"localAPIEndpoint,omitempty"`
}

JoinControlPlane contains elements describing an additional control plane instance to be deployed on the joining node.

func (*JoinControlPlane) DeepCopy

func (in *JoinControlPlane) DeepCopy() *JoinControlPlane

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

func (*JoinControlPlane) DeepCopyInto

func (in *JoinControlPlane) DeepCopyInto(out *JoinControlPlane)

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

type KubeConfigAuthExec

type KubeConfigAuthExec struct {
	// command to execute.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=1024
	Command string `json:"command"`

	// args is the arguments to pass to the command when executing it.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=512
	Args []string `json:"args,omitempty"`

	// env defines additional environment variables to expose to the process. These
	// are unioned with the host's environment, as well as variables client-go uses
	// to pass argument to the plugin.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	Env []KubeConfigAuthExecEnv `json:"env,omitempty"`

	// apiVersion is preferred input version of the ExecInfo. The returned ExecCredentials MUST use
	// the same encoding version as the input.
	// Defaults to client.authentication.k8s.io/v1 if not set.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	APIVersion string `json:"apiVersion,omitempty"`

	// provideClusterInfo determines whether or not to provide cluster information,
	// which could potentially contain very large CA data, to this exec plugin as a
	// part of the KUBERNETES_EXEC_INFO environment variable. By default, it is set
	// to false. Package k8s.io/client-go/tools/auth/exec provides helper methods for
	// reading this environment variable.
	// +optional
	ProvideClusterInfo bool `json:"provideClusterInfo,omitempty"`
}

KubeConfigAuthExec specifies a command to provide client credentials. The command is exec'd and outputs structured stdout holding credentials.

See the client.authentication.k8s.io API group for specifications of the exact input and output format.

func (*KubeConfigAuthExec) DeepCopy

func (in *KubeConfigAuthExec) DeepCopy() *KubeConfigAuthExec

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

func (*KubeConfigAuthExec) DeepCopyInto

func (in *KubeConfigAuthExec) DeepCopyInto(out *KubeConfigAuthExec)

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

type KubeConfigAuthExecEnv

type KubeConfigAuthExecEnv struct {
	// name of the environment variable
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	Name string `json:"name"`
	// value of the environment variable
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	Value string `json:"value"`
}

KubeConfigAuthExecEnv is used for setting environment variables when executing an exec-based credential plugin.

func (*KubeConfigAuthExecEnv) DeepCopy

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

func (*KubeConfigAuthExecEnv) DeepCopyInto

func (in *KubeConfigAuthExecEnv) DeepCopyInto(out *KubeConfigAuthExecEnv)

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

type KubeConfigAuthProvider

type KubeConfigAuthProvider struct {
	// name is the name of the authentication plugin.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Name string `json:"name"`

	// config holds the parameters for the authentication plugin.
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

KubeConfigAuthProvider holds the configuration for a specified auth provider.

func (*KubeConfigAuthProvider) DeepCopy

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

func (*KubeConfigAuthProvider) DeepCopyInto

func (in *KubeConfigAuthProvider) DeepCopyInto(out *KubeConfigAuthProvider)

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

type KubeConfigCluster

type KubeConfigCluster struct {
	// server is the address of the kubernetes cluster (https://hostname:port).
	//
	// Defaults to https:// + Cluster.Spec.ControlPlaneEndpoint.
	//
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	Server string `json:"server,omitempty"`

	// tlsServerName is used to check server certificate. If TLSServerName is empty, the hostname used to contact the server is used.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	TLSServerName string `json:"tlsServerName,omitempty"`

	// insecureSkipTLSVerify skips the validity check for the server's certificate. This will make your HTTPS connections insecure.
	// +optional
	InsecureSkipTLSVerify bool `json:"insecureSkipTLSVerify,omitempty"`

	// certificateAuthorityData contains PEM-encoded certificate authority certificates.
	//
	// Defaults to the Cluster's CA certificate if empty.
	//
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=51200
	CertificateAuthorityData []byte `json:"certificateAuthorityData,omitempty"`

	// proxyURL is the URL to the proxy to be used for all requests made by this
	// client. URLs with "http", "https", and "socks5" schemes are supported.  If
	// this configuration is not provided or the empty string, the client
	// attempts to construct a proxy configuration from http_proxy and
	// https_proxy environment variables. If these environment variables are not
	// set, the client does not attempt to proxy requests.
	//
	// socks5 proxying does not currently support spdy streaming endpoints (exec,
	// attach, port forward).
	//
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	ProxyURL string `json:"proxyURL,omitempty"`
}

KubeConfigCluster contains information about how to communicate with a kubernetes cluster.

Adapted from clientcmdv1.Cluster.

func (*KubeConfigCluster) DeepCopy

func (in *KubeConfigCluster) DeepCopy() *KubeConfigCluster

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

func (*KubeConfigCluster) DeepCopyInto

func (in *KubeConfigCluster) DeepCopyInto(out *KubeConfigCluster)

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

type KubeConfigUser

type KubeConfigUser struct {
	// authProvider specifies a custom authentication plugin for the kubernetes cluster.
	// +optional
	AuthProvider *KubeConfigAuthProvider `json:"authProvider,omitempty"`

	// exec specifies a custom exec-based authentication plugin for the kubernetes cluster.
	// +optional
	Exec *KubeConfigAuthExec `json:"exec,omitempty"`
}

KubeConfigUser contains information that describes identity information. This is used to tell the kubernetes cluster who you are.

Either authProvider or exec must be filled.

Adapted from clientcmdv1.AuthInfo.

func (*KubeConfigUser) DeepCopy

func (in *KubeConfigUser) DeepCopy() *KubeConfigUser

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

func (*KubeConfigUser) DeepCopyInto

func (in *KubeConfigUser) DeepCopyInto(out *KubeConfigUser)

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

type KubeadmConfig

type KubeadmConfig struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of KubeadmConfig.
	// +optional
	Spec KubeadmConfigSpec `json:"spec,omitempty"`
	// status is the observed state of KubeadmConfig.
	// +optional
	Status KubeadmConfigStatus `json:"status,omitempty"`
}

KubeadmConfig is the Schema for the kubeadmconfigs API.

func (*KubeadmConfig) ConvertFrom

func (dst *KubeadmConfig) ConvertFrom(srcRaw conversion.Hub) error

func (*KubeadmConfig) ConvertTo

func (src *KubeadmConfig) ConvertTo(dstRaw conversion.Hub) error

func (*KubeadmConfig) DeepCopy

func (in *KubeadmConfig) DeepCopy() *KubeadmConfig

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

func (*KubeadmConfig) DeepCopyInto

func (in *KubeadmConfig) DeepCopyInto(out *KubeadmConfig)

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

func (*KubeadmConfig) DeepCopyObject

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

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

func (*KubeadmConfig) GetConditions

func (c *KubeadmConfig) GetConditions() clusterv1beta1.Conditions

GetConditions returns the set of conditions for this object.

func (*KubeadmConfig) GetV1Beta2Conditions

func (c *KubeadmConfig) GetV1Beta2Conditions() []metav1.Condition

GetV1Beta2Conditions returns the set of conditions for this object.

func (*KubeadmConfig) SetConditions

func (c *KubeadmConfig) SetConditions(conditions clusterv1beta1.Conditions)

SetConditions sets the conditions on this object.

func (*KubeadmConfig) SetV1Beta2Conditions

func (c *KubeadmConfig) SetV1Beta2Conditions(conditions []metav1.Condition)

SetV1Beta2Conditions sets conditions for an API object.

type KubeadmConfigList

type KubeadmConfigList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#lists-and-simple-kinds
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is the list of KubeadmConfigs.
	Items []KubeadmConfig `json:"items"`
}

KubeadmConfigList contains a list of KubeadmConfig.

func (*KubeadmConfigList) DeepCopy

func (in *KubeadmConfigList) DeepCopy() *KubeadmConfigList

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

func (*KubeadmConfigList) DeepCopyInto

func (in *KubeadmConfigList) DeepCopyInto(out *KubeadmConfigList)

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

func (*KubeadmConfigList) DeepCopyObject

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

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

type KubeadmConfigSpec

type KubeadmConfigSpec struct {
	// clusterConfiguration along with InitConfiguration are the configurations necessary for the init command
	// +optional
	ClusterConfiguration *ClusterConfiguration `json:"clusterConfiguration,omitempty"`

	// initConfiguration along with ClusterConfiguration are the configurations necessary for the init command
	// +optional
	InitConfiguration *InitConfiguration `json:"initConfiguration,omitempty"`

	// joinConfiguration is the kubeadm configuration for the join command
	// +optional
	JoinConfiguration *JoinConfiguration `json:"joinConfiguration,omitempty"`

	// files specifies extra files to be passed to user_data upon creation.
	// +optional
	// +kubebuilder:validation:MaxItems=200
	Files []File `json:"files,omitempty"`

	// diskSetup specifies options for the creation of partition tables and file systems on devices.
	// +optional
	DiskSetup *DiskSetup `json:"diskSetup,omitempty"`

	// mounts specifies a list of mount points to be setup.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	Mounts []MountPoints `json:"mounts,omitempty"`

	// bootCommands specifies extra commands to run very early in the boot process via the cloud-init bootcmd
	// module. bootcmd will run on every boot, 'cloud-init-per' command can be used to make bootcmd run exactly
	// once. This is typically run in the cloud-init.service systemd unit. This has no effect in Ignition.
	// +optional
	// +kubebuilder:validation:MaxItems=1000
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=10240
	BootCommands []string `json:"bootCommands,omitempty"`

	// preKubeadmCommands specifies extra commands to run before kubeadm runs.
	// With cloud-init, this is prepended to the runcmd module configuration, and is typically executed in
	// the cloud-final.service systemd unit. In Ignition, this is prepended to /etc/kubeadm.sh.
	// +optional
	// +kubebuilder:validation:MaxItems=1000
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=10240
	PreKubeadmCommands []string `json:"preKubeadmCommands,omitempty"`

	// postKubeadmCommands specifies extra commands to run after kubeadm runs.
	// With cloud-init, this is appended to the runcmd module configuration, and is typically executed in
	// the cloud-final.service systemd unit. In Ignition, this is appended to /etc/kubeadm.sh.
	// +optional
	// +kubebuilder:validation:MaxItems=1000
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=10240
	PostKubeadmCommands []string `json:"postKubeadmCommands,omitempty"`

	// users specifies extra users to add
	// +optional
	// +kubebuilder:validation:MaxItems=100
	Users []User `json:"users,omitempty"`

	// ntp specifies NTP configuration
	// +optional
	NTP *NTP `json:"ntp,omitempty"`

	// format specifies the output format of the bootstrap data
	// +optional
	Format Format `json:"format,omitempty"`

	// verbosity is the number for the kubeadm log level verbosity.
	// It overrides the `--v` flag in kubeadm commands.
	// +optional
	Verbosity *int32 `json:"verbosity,omitempty"`

	// useExperimentalRetryJoin replaces a basic kubeadm command with a shell
	// script with retries for joins.
	//
	// This is meant to be an experimental temporary workaround on some environments
	// where joins fail due to timing (and other issues). The long term goal is to add retries to
	// kubeadm proper and use that functionality.
	//
	// This will add about 40KB to userdata
	//
	// For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055.
	// +optional
	//
	// Deprecated: This experimental fix is no longer needed and this field will be removed in a future release.
	// When removing also remove from staticcheck exclude-rules for SA1019 in golangci.yml
	UseExperimentalRetryJoin bool `json:"useExperimentalRetryJoin,omitempty"`

	// ignition contains Ignition specific configuration.
	// +optional
	Ignition *IgnitionSpec `json:"ignition,omitempty"`
}

KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined.

func (*KubeadmConfigSpec) ConvertFrom

func (dst *KubeadmConfigSpec) ConvertFrom(src *bootstrapv1.KubeadmConfigSpec)

func (*KubeadmConfigSpec) ConvertTo

func (src *KubeadmConfigSpec) ConvertTo(dst *bootstrapv1.KubeadmConfigSpec)

func (*KubeadmConfigSpec) DeepCopy

func (in *KubeadmConfigSpec) DeepCopy() *KubeadmConfigSpec

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

func (*KubeadmConfigSpec) DeepCopyInto

func (in *KubeadmConfigSpec) DeepCopyInto(out *KubeadmConfigSpec)

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

func (*KubeadmConfigSpec) Default

func (c *KubeadmConfigSpec) Default()

Default defaults a KubeadmConfigSpec.

func (*KubeadmConfigSpec) Validate

func (c *KubeadmConfigSpec) Validate(pathPrefix *field.Path) field.ErrorList

Validate ensures the KubeadmConfigSpec is valid.

type KubeadmConfigStatus

type KubeadmConfigStatus struct {
	// ready indicates the BootstrapData field is ready to be consumed
	// +optional
	Ready bool `json:"ready"`

	// dataSecretName is the name of the secret that stores the bootstrap data script.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	DataSecretName *string `json:"dataSecretName,omitempty"`

	// failureReason will be set on non-retryable errors
	//
	// Deprecated: This field is deprecated and is going to be removed when support for v1beta1 will be dropped. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details.
	//
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	FailureReason string `json:"failureReason,omitempty"`

	// failureMessage will be set on non-retryable errors
	//
	// Deprecated: This field is deprecated and is going to be removed when support for v1beta1 will be dropped. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details.
	//
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=10240
	FailureMessage string `json:"failureMessage,omitempty"`

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

	// conditions defines current service state of the KubeadmConfig.
	// +optional
	Conditions clusterv1beta1.Conditions `json:"conditions,omitempty"`

	// v1beta2 groups all the fields that will be added or modified in KubeadmConfig's status with the V1Beta2 version.
	// +optional
	V1Beta2 *KubeadmConfigV1Beta2Status `json:"v1beta2,omitempty"`
}

KubeadmConfigStatus defines the observed state of KubeadmConfig.

func (*KubeadmConfigStatus) DeepCopy

func (in *KubeadmConfigStatus) DeepCopy() *KubeadmConfigStatus

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

func (*KubeadmConfigStatus) DeepCopyInto

func (in *KubeadmConfigStatus) DeepCopyInto(out *KubeadmConfigStatus)

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

type KubeadmConfigTemplate

type KubeadmConfigTemplate struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of KubeadmConfigTemplate.
	// +optional
	Spec KubeadmConfigTemplateSpec `json:"spec,omitempty"`
}

KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API.

func (*KubeadmConfigTemplate) ConvertFrom

func (dst *KubeadmConfigTemplate) ConvertFrom(srcRaw conversion.Hub) error

func (*KubeadmConfigTemplate) ConvertTo

func (src *KubeadmConfigTemplate) ConvertTo(dstRaw conversion.Hub) error

func (*KubeadmConfigTemplate) DeepCopy

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

func (*KubeadmConfigTemplate) DeepCopyInto

func (in *KubeadmConfigTemplate) DeepCopyInto(out *KubeadmConfigTemplate)

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

func (*KubeadmConfigTemplate) DeepCopyObject

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

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

type KubeadmConfigTemplateList

type KubeadmConfigTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#lists-and-simple-kinds
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// items is the list of KubeadmConfigTemplates.
	Items []KubeadmConfigTemplate `json:"items"`
}

KubeadmConfigTemplateList contains a list of KubeadmConfigTemplate.

func (*KubeadmConfigTemplateList) DeepCopy

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

func (*KubeadmConfigTemplateList) DeepCopyInto

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

func (*KubeadmConfigTemplateList) DeepCopyObject

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

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

type KubeadmConfigTemplateResource

type KubeadmConfigTemplateResource struct {
	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	ObjectMeta clusterv1beta1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the desired state of KubeadmConfig.
	// +optional
	Spec KubeadmConfigSpec `json:"spec,omitempty"`
}

KubeadmConfigTemplateResource defines the Template structure.

func (*KubeadmConfigTemplateResource) DeepCopy

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

func (*KubeadmConfigTemplateResource) DeepCopyInto

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

type KubeadmConfigTemplateSpec

type KubeadmConfigTemplateSpec struct {
	// template defines the desired state of KubeadmConfigTemplate.
	// +required
	Template KubeadmConfigTemplateResource `json:"template"`
}

KubeadmConfigTemplateSpec defines the desired state of KubeadmConfigTemplate.

func (*KubeadmConfigTemplateSpec) DeepCopy

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

func (*KubeadmConfigTemplateSpec) DeepCopyInto

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

type KubeadmConfigV1Beta2Status

type KubeadmConfigV1Beta2Status struct {
	// conditions represents the observations of a KubeadmConfig's current state.
	// Known condition types are Ready, DataSecretAvailable, CertificatesAvailable.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=32
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KubeadmConfigV1Beta2Status groups all the fields that will be added or modified in KubeadmConfig with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.

func (*KubeadmConfigV1Beta2Status) DeepCopy

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

func (*KubeadmConfigV1Beta2Status) DeepCopyInto

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

type LocalEtcd

type LocalEtcd struct {
	// ImageMeta allows to customize the container used for etcd
	ImageMeta `json:",inline"`

	// dataDir is the directory etcd will place its data.
	// Defaults to "/var/lib/etcd".
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	DataDir string `json:"dataDir,omitempty"`

	// extraArgs are extra arguments provided to the etcd binary
	// when run inside a static pod.
	// +optional
	ExtraArgs map[string]string `json:"extraArgs,omitempty"`

	// extraEnvs is an extra set of environment variables to pass to the control plane component.
	// Environment variables passed using ExtraEnvs will override any existing environment variables, or *_proxy environment variables that kubeadm adds by default.
	// This option takes effect only on Kubernetes >=1.31.0.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	ExtraEnvs []EnvVar `json:"extraEnvs,omitempty"`

	// serverCertSANs sets extra Subject Alternative Names for the etcd server signing cert.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=253
	ServerCertSANs []string `json:"serverCertSANs,omitempty"`

	// peerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=253
	PeerCertSANs []string `json:"peerCertSANs,omitempty"`
}

LocalEtcd describes that kubeadm should run an etcd cluster locally.

func (*LocalEtcd) DeepCopy

func (in *LocalEtcd) DeepCopy() *LocalEtcd

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

func (*LocalEtcd) DeepCopyInto

func (in *LocalEtcd) DeepCopyInto(out *LocalEtcd)

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

type MountPoints

type MountPoints []string

MountPoints defines input for generated mounts in cloud-init. +kubebuilder:validation:items:MinLength=1 +kubebuilder:validation:items:MaxLength=512

func (MountPoints) DeepCopy

func (in MountPoints) DeepCopy() MountPoints

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

func (MountPoints) DeepCopyInto

func (in MountPoints) DeepCopyInto(out *MountPoints)

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

type NTP

type NTP struct {
	// servers specifies which NTP servers to use
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=512
	Servers []string `json:"servers,omitempty"`

	// enabled specifies whether NTP should be enabled
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
}

NTP defines input for generated ntp in cloud-init.

func (*NTP) DeepCopy

func (in *NTP) DeepCopy() *NTP

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

func (*NTP) DeepCopyInto

func (in *NTP) DeepCopyInto(out *NTP)

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

type Networking

type Networking struct {
	// serviceSubnet is the subnet used by k8s services.
	// Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.pods.cidrBlocks, or
	// to "10.96.0.0/12" if that's unset.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=1024
	ServiceSubnet string `json:"serviceSubnet,omitempty"`
	// podSubnet is the subnet used by pods.
	// If unset, the API server will not allocate CIDR ranges for every node.
	// Defaults to a comma-delimited string of the Cluster object's spec.clusterNetwork.services.cidrBlocks if that is set
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=1024
	PodSubnet string `json:"podSubnet,omitempty"`
	// dnsDomain is the dns domain used by k8s services. Defaults to "cluster.local".
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	DNSDomain string `json:"dnsDomain,omitempty"`
}

Networking contains elements describing cluster's networking configuration.

func (*Networking) DeepCopy

func (in *Networking) DeepCopy() *Networking

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

func (*Networking) DeepCopyInto

func (in *Networking) DeepCopyInto(out *Networking)

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

type NodeRegistrationOptions

type NodeRegistrationOptions struct {

	// name is the `.Metadata.Name` field of the Node API object that will be created in this `kubeadm init` or `kubeadm join` operation.
	// This field is also used in the CommonName field of the kubelet's client certificate to the API server.
	// Defaults to the hostname of the node if not provided.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Name string `json:"name,omitempty"`

	// criSocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	CRISocket string `json:"criSocket,omitempty"`

	// taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the `kubeadm init` process
	// it will be defaulted to []v1.Taint{'node-role.kubernetes.io/master=""'}. If you don't want to taint your control-plane node, set this field to an
	// empty slice, i.e. `taints: []` in the YAML file. This field is solely used for Node registration.
	// +optional
	// +kubebuilder:validation:MaxItems=100
	Taints []corev1.Taint `json:"taints,omitempty"`

	// kubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file
	// kubeadm writes at runtime for the kubelet to source. This overrides the generic base-level configuration in the kubelet-config-1.X ConfigMap
	// Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on.
	// +optional
	KubeletExtraArgs map[string]string `json:"kubeletExtraArgs,omitempty"`

	// ignorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered.
	// +optional
	// +kubebuilder:validation:MaxItems=50
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=512
	IgnorePreflightErrors []string `json:"ignorePreflightErrors,omitempty"`

	// imagePullPolicy specifies the policy for image pulling
	// during kubeadm "init" and "join" operations. The value of
	// this field must be one of "Always", "IfNotPresent" or
	// "Never". Defaults to "IfNotPresent". This can be used only
	// with Kubernetes version equal to 1.22 and later.
	// +kubebuilder:validation:Enum=Always;IfNotPresent;Never
	// +optional
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// imagePullSerial specifies if image pulling performed by kubeadm must be done serially or in parallel.
	// This option takes effect only on Kubernetes >=1.31.0.
	// Default: true (defaulted in kubeadm)
	// +optional
	ImagePullSerial *bool `json:"imagePullSerial,omitempty"`
}

NodeRegistrationOptions holds fields that relate to registering a new control-plane or node to the cluster, either via "kubeadm init" or "kubeadm join". Note: The NodeRegistrationOptions struct has to be kept in sync with the structs in MarshalJSON.

func (*NodeRegistrationOptions) DeepCopy

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

func (*NodeRegistrationOptions) DeepCopyInto

func (in *NodeRegistrationOptions) DeepCopyInto(out *NodeRegistrationOptions)

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

func (*NodeRegistrationOptions) MarshalJSON

func (n *NodeRegistrationOptions) MarshalJSON() ([]byte, error)

MarshalJSON marshals NodeRegistrationOptions in a way that an empty slice in Taints is preserved. Taints are then rendered as: * nil => omitted from the marshalled JSON * [] => rendered as empty array (`[]`) * [regular-array] => rendered as usual We have to do this as the regular Golang JSON marshalling would just omit the empty slice (xref: https://github.com/golang/go/issues/22480). Note: We can't re-use the original struct as that would lead to an infinite recursion. Note: The structs in this func have to be kept in sync with the NodeRegistrationOptions struct.

type Partition

type Partition struct {
	// device is the name of the device.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Device string `json:"device"`
	// layout specifies the device layout.
	// If it is true, a single partition will be created for the entire device.
	// When layout is false, it means don't partition or ignore existing partitioning.
	// +required
	Layout bool `json:"layout"`
	// overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device.
	// Use with caution. Default is 'false'.
	// +optional
	Overwrite *bool `json:"overwrite,omitempty"`
	// tableType specifies the tupe of partition table. The following are supported:
	// 'mbr': default and setups a MS-DOS partition table
	// 'gpt': setups a GPT partition table
	// +optional
	// +kubebuilder:validation:Enum=mbr;gpt
	TableType *string `json:"tableType,omitempty"`
}

Partition defines how to create and layout a partition.

func (*Partition) DeepCopy

func (in *Partition) DeepCopy() *Partition

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

func (*Partition) DeepCopyInto

func (in *Partition) DeepCopyInto(out *Partition)

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

type PasswdSource

type PasswdSource struct {
	// secret represents a secret that should populate this password.
	// +required
	Secret SecretPasswdSource `json:"secret"`
}

PasswdSource is a union of all possible external source types for passwd data. Only one field may be populated in any given instance. Developers adding new sources of data for target systems should add them here.

func (*PasswdSource) DeepCopy

func (in *PasswdSource) DeepCopy() *PasswdSource

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

func (*PasswdSource) DeepCopyInto

func (in *PasswdSource) DeepCopyInto(out *PasswdSource)

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

type Patches

type Patches struct {
	// directory is a path to a directory that contains files named "target[suffix][+patchtype].extension".
	// For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "target" can be one of
	// "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd". "patchtype" can be one
	// of "strategic" "merge" or "json" and they match the patch formats supported by kubectl.
	// The default "patchtype" is "strategic". "extension" must be either "json" or "yaml".
	// "suffix" is an optional string that can be used to determine which patches are applied
	// first alpha-numerically.
	// These files can be written into the target directory via KubeadmConfig.Files which
	// specifies additional files to be created on the machine, either with content inline or
	// by referencing a secret.
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=512
	Directory string `json:"directory,omitempty"`
}

Patches contains options related to applying patches to components deployed by kubeadm.

func (*Patches) DeepCopy

func (in *Patches) DeepCopy() *Patches

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

func (*Patches) DeepCopyInto

func (in *Patches) DeepCopyInto(out *Patches)

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

type SecretFileSource

type SecretFileSource struct {
	// name of the secret in the KubeadmBootstrapConfig's namespace to use.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Name string `json:"name"`

	// key is the key in the secret's data map for this value.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Key string `json:"key"`
}

SecretFileSource adapts a Secret into a FileSource.

The contents of the target Secret's Data field will be presented as files using the keys in the Data field as the file names.

func (*SecretFileSource) DeepCopy

func (in *SecretFileSource) DeepCopy() *SecretFileSource

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

func (*SecretFileSource) DeepCopyInto

func (in *SecretFileSource) DeepCopyInto(out *SecretFileSource)

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

type SecretPasswdSource

type SecretPasswdSource struct {
	// name of the secret in the KubeadmBootstrapConfig's namespace to use.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Name string `json:"name"`

	// key is the key in the secret's data map for this value.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Key string `json:"key"`
}

SecretPasswdSource adapts a Secret into a PasswdSource.

The contents of the target Secret's Data field will be presented as passwd using the keys in the Data field as the file names.

func (*SecretPasswdSource) DeepCopy

func (in *SecretPasswdSource) DeepCopy() *SecretPasswdSource

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

func (*SecretPasswdSource) DeepCopyInto

func (in *SecretPasswdSource) DeepCopyInto(out *SecretPasswdSource)

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

type User

type User struct {
	// name specifies the user name
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Name string `json:"name"`

	// gecos specifies the gecos to use for the user
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Gecos *string `json:"gecos,omitempty"`

	// groups specifies the additional groups for the user
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Groups *string `json:"groups,omitempty"`

	// homeDir specifies the home directory to use for the user
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	HomeDir *string `json:"homeDir,omitempty"`

	// inactive specifies whether to mark the user as inactive
	// +optional
	Inactive *bool `json:"inactive,omitempty"`

	// shell specifies the user's shell
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Shell *string `json:"shell,omitempty"`

	// passwd specifies a hashed password for the user
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Passwd *string `json:"passwd,omitempty"`

	// passwdFrom is a referenced source of passwd to populate the passwd.
	// +optional
	PasswdFrom *PasswdSource `json:"passwdFrom,omitempty"`

	// primaryGroup specifies the primary group for the user
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	PrimaryGroup *string `json:"primaryGroup,omitempty"`

	// lockPassword specifies if password login should be disabled
	// +optional
	LockPassword *bool `json:"lockPassword,omitempty"`

	// sudo specifies a sudo role for the user
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Sudo *string `json:"sudo,omitempty"`

	// sshAuthorizedKeys specifies a list of ssh authorized keys for the user
	// +optional
	// +kubebuilder:validation:MaxItems=100
	// +kubebuilder:validation:items:MinLength=1
	// +kubebuilder:validation:items:MaxLength=2048
	SSHAuthorizedKeys []string `json:"sshAuthorizedKeys,omitempty"`
}

User defines the input for a generated user in cloud-init.

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

Jump to

Keyboard shortcuts

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