kubeadm: add a Timeouts struct to v1beta4

The struct is included in InitConfiguration, JoinConfiguration
and ResetConfiguration.

Add conversion and update defaulters and fuzzers.
Include a timeoututils.go that contains a function
to default the internal Timeouts struct.
This commit is contained in:
Lubomir I. Ivanov 2023-12-28 16:19:19 +02:00
parent 0598cec06a
commit 492c0619dc
13 changed files with 451 additions and 128 deletions

View File

@ -25,7 +25,6 @@ import (
bootstraptokenv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/bootstraptoken/v1"
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
)
// Funcs returns the fuzzer functions for the kubeadm apis.
@ -65,6 +64,7 @@ func fuzzInitConfiguration(obj *kubeadm.InitConfiguration, c fuzz.Continue) {
obj.NodeRegistration.ImagePullPolicy = corev1.PullIfNotPresent
obj.Patches = nil
obj.DryRun = false
kubeadm.SetDefaultTimeouts(&obj.Timeouts)
}
func fuzzNodeRegistration(obj *kubeadm.NodeRegistrationOptions, c fuzz.Continue) {
@ -85,7 +85,7 @@ func fuzzClusterConfiguration(obj *kubeadm.ClusterConfiguration, c fuzz.Continue
obj.KubernetesVersion = "qux"
obj.CIKubernetesVersion = "" // This fields doesn't exists in public API >> using default to get the roundtrip test pass
obj.APIServer.TimeoutForControlPlane = &metav1.Duration{
Duration: constants.DefaultControlPlaneTimeout,
Duration: 0,
}
obj.ControllerManager.ExtraEnvs = []kubeadm.EnvVar{}
obj.APIServer.ExtraEnvs = []kubeadm.EnvVar{}
@ -128,12 +128,13 @@ func fuzzJoinConfiguration(obj *kubeadm.JoinConfiguration, c fuzz.Continue) {
obj.Discovery = kubeadm.Discovery{
BootstrapToken: &kubeadm.BootstrapTokenDiscovery{Token: "baz"},
TLSBootstrapToken: "qux",
Timeout: &metav1.Duration{Duration: 1234},
Timeout: &metav1.Duration{},
}
obj.SkipPhases = nil
obj.NodeRegistration.ImagePullPolicy = corev1.PullIfNotPresent
obj.Patches = nil
obj.DryRun = false
kubeadm.SetDefaultTimeouts(&obj.Timeouts)
}
func fuzzJoinControlPlane(obj *kubeadm.JoinControlPlane, c fuzz.Continue) {
@ -145,4 +146,5 @@ func fuzzResetConfiguration(obj *kubeadm.ResetConfiguration, c fuzz.Continue) {
// Pinning values for fields that get defaults if fuzz value is empty string or nil (thus making the round trip test fail)
obj.CertificatesDir = "/tmp"
kubeadm.SetDefaultTimeouts(&obj.Timeouts)
}

View File

@ -0,0 +1,35 @@
/*
Copyright 2023 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package kubeadm
import (
"time"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// SetDefaultTimeouts sets an internal Timeouts struct to its default values.
func SetDefaultTimeouts(t **Timeouts) {
*t = &Timeouts{
ControlPlaneComponentHealthCheck: &metav1.Duration{Duration: 4 * time.Minute},
KubeletHealthCheck: &metav1.Duration{Duration: 4 * time.Minute},
KubernetesAPICall: &metav1.Duration{Duration: 1 * time.Minute},
EtcdAPICall: &metav1.Duration{Duration: 2 * time.Minute},
TLSBootstrap: &metav1.Duration{Duration: 5 * time.Minute},
Discovery: &metav1.Duration{Duration: 5 * time.Minute},
}
}

View File

@ -69,6 +69,9 @@ type InitConfiguration struct {
// Patches contains options related to applying patches to components deployed by kubeadm during
// "kubeadm init".
Patches *Patches
// Timeouts holds various timeouts that apply to kubeadm commands.
Timeouts *Timeouts
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
@ -343,6 +346,9 @@ type JoinConfiguration struct {
// Patches contains options related to applying patches to components deployed by kubeadm during
// "kubeadm join".
Patches *Patches
// Timeouts holds various timeouts that apply to kubeadm commands.
Timeouts *Timeouts
}
// JoinControlPlane contains elements describing an additional control plane instance to be deployed on the joining node.
@ -527,6 +533,9 @@ type ResetConfiguration struct {
// directories during "reset". A flag can be one of: MNT_FORCE, MNT_DETACH, MNT_EXPIRE, UMOUNT_NOFOLLOW.
// By default this list is empty.
UnmountFlags []string
// Timeouts holds various timeouts that apply to kubeadm commands.
Timeouts *Timeouts
}
const (
@ -563,3 +572,30 @@ const (
// EncryptionAlgorithmRSA defines the RSA encryption algorithm type.
EncryptionAlgorithmRSA EncryptionAlgorithmType = "RSA"
)
// Timeouts holds various timeouts that apply to kubeadm commands.
type Timeouts struct {
// ControlPlaneComponentHealthCheck is the amount of time to wait for a control plane
// component, such as the API server, to be healthy during "kubeadm init" and "kubeadm join".
ControlPlaneComponentHealthCheck *metav1.Duration
// KubeletHealthCheck is the amount of time to wait for the kubelet to be healthy
// during "kubeadm init" and "kubeadm join".
KubeletHealthCheck *metav1.Duration
// KubernetesAPICall is the amount of time to wait for the kubeadm client to complete a request to
// the API server. This applies to all types of methods (GET, POST, etc).
KubernetesAPICall *metav1.Duration
// EtcdAPICall is the amount of time to wait for the kubeadm etcd client to complete a request to
// the etcd cluster.
EtcdAPICall *metav1.Duration
// TLSBootstrap is the amount of time to wait for the kubelet to complete TLS bootstrap
// for a joining node.
TLSBootstrap *metav1.Duration
// Discovery is the amount of time to wait for kubeadm to validate the API server identity
// for a joining node.
Discovery *metav1.Duration
}

View File

@ -29,11 +29,6 @@ func Convert_kubeadm_InitConfiguration_To_v1beta3_InitConfiguration(in *kubeadm.
return autoConvert_kubeadm_InitConfiguration_To_v1beta3_InitConfiguration(in, out, s)
}
// Convert_kubeadm_JoinConfiguration_To_v1beta3_JoinConfiguration converts a private JoinConfiguration to public JoinConfiguration.
func Convert_kubeadm_JoinConfiguration_To_v1beta3_JoinConfiguration(in *kubeadm.JoinConfiguration, out *JoinConfiguration, s conversion.Scope) error {
return autoConvert_kubeadm_JoinConfiguration_To_v1beta3_JoinConfiguration(in, out, s)
}
// Convert_v1beta3_InitConfiguration_To_kubeadm_InitConfiguration converts a public InitConfiguration to private InitConfiguration.
func Convert_v1beta3_InitConfiguration_To_kubeadm_InitConfiguration(in *InitConfiguration, out *kubeadm.InitConfiguration, s conversion.Scope) error {
err := autoConvert_v1beta3_InitConfiguration_To_kubeadm_InitConfiguration(in, out, s)
@ -45,9 +40,22 @@ func Convert_v1beta3_InitConfiguration_To_kubeadm_InitConfiguration(in *InitConf
// If we call Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration() it will receive
// a default value, thus here we need to reset it back to "".
out.EncryptionAlgorithm = ""
// Set default timeouts.
kubeadm.SetDefaultTimeouts(&out.Timeouts)
return err
}
// Convert_kubeadm_JoinConfiguration_To_v1beta3_JoinConfiguration converts a private JoinConfiguration to public JoinConfiguration.
func Convert_kubeadm_JoinConfiguration_To_v1beta3_JoinConfiguration(in *kubeadm.JoinConfiguration, out *JoinConfiguration, s conversion.Scope) error {
return autoConvert_kubeadm_JoinConfiguration_To_v1beta3_JoinConfiguration(in, out, s)
}
// Convert_v1beta3_JoinConfiguration_To_kubeadm_JoinConfiguration converts a public JoinConfiguration to a private JoinConfiguration.
func Convert_v1beta3_JoinConfiguration_To_kubeadm_JoinConfiguration(in *JoinConfiguration, out *kubeadm.JoinConfiguration, s conversion.Scope) error {
kubeadm.SetDefaultTimeouts(&out.Timeouts)
return autoConvert_v1beta3_JoinConfiguration_To_kubeadm_JoinConfiguration(in, out, s)
}
// Convert_kubeadm_ClusterConfiguration_To_v1beta3_ClusterConfiguration is required due to missing EncryptionAlgorithm in v1beta3.
func Convert_kubeadm_ClusterConfiguration_To_v1beta3_ClusterConfiguration(in *kubeadm.ClusterConfiguration, out *ClusterConfiguration, s conversion.Scope) error {
return autoConvert_kubeadm_ClusterConfiguration_To_v1beta3_ClusterConfiguration(in, out, s)
@ -135,3 +143,8 @@ func convertFromArgs(in []kubeadm.Arg) map[string]string {
}
return args
}
// Convert_v1beta3_APIServer_To_kubeadm_APIServer is required due to missing APIServer.TimeoutForControlPlane in v1beta4.
func Convert_v1beta3_APIServer_To_kubeadm_APIServer(in *APIServer, out *kubeadm.APIServer, s conversion.Scope) error {
return autoConvert_v1beta3_APIServer_To_kubeadm_APIServer(in, out, s)
}

View File

@ -49,11 +49,6 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*APIServer)(nil), (*kubeadm.APIServer)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta3_APIServer_To_kubeadm_APIServer(a.(*APIServer), b.(*kubeadm.APIServer), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*kubeadm.APIServer)(nil), (*APIServer)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_kubeadm_APIServer_To_v1beta3_APIServer(a.(*kubeadm.APIServer), b.(*APIServer), scope)
}); err != nil {
@ -134,11 +129,6 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*JoinConfiguration)(nil), (*kubeadm.JoinConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta3_JoinConfiguration_To_kubeadm_JoinConfiguration(a.(*JoinConfiguration), b.(*kubeadm.JoinConfiguration), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*JoinControlPlane)(nil), (*kubeadm.JoinControlPlane)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta3_JoinControlPlane_To_kubeadm_JoinControlPlane(a.(*JoinControlPlane), b.(*kubeadm.JoinControlPlane), scope)
}); err != nil {
@ -204,6 +194,11 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddConversionFunc((*APIServer)(nil), (*kubeadm.APIServer)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta3_APIServer_To_kubeadm_APIServer(a.(*APIServer), b.(*kubeadm.APIServer), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*ClusterConfiguration)(nil), (*kubeadm.ClusterConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(a.(*ClusterConfiguration), b.(*kubeadm.ClusterConfiguration), scope)
}); err != nil {
@ -219,6 +214,11 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddConversionFunc((*JoinConfiguration)(nil), (*kubeadm.JoinConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta3_JoinConfiguration_To_kubeadm_JoinConfiguration(a.(*JoinConfiguration), b.(*kubeadm.JoinConfiguration), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*LocalEtcd)(nil), (*kubeadm.LocalEtcd)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta3_LocalEtcd_To_kubeadm_LocalEtcd(a.(*LocalEtcd), b.(*kubeadm.LocalEtcd), scope)
}); err != nil {
@ -263,11 +263,6 @@ func autoConvert_v1beta3_APIServer_To_kubeadm_APIServer(in *APIServer, out *kube
return nil
}
// Convert_v1beta3_APIServer_To_kubeadm_APIServer is an autogenerated conversion function.
func Convert_v1beta3_APIServer_To_kubeadm_APIServer(in *APIServer, out *kubeadm.APIServer, s conversion.Scope) error {
return autoConvert_v1beta3_APIServer_To_kubeadm_APIServer(in, out, s)
}
func autoConvert_kubeadm_APIServer_To_v1beta3_APIServer(in *kubeadm.APIServer, out *APIServer, s conversion.Scope) error {
if err := Convert_kubeadm_ControlPlaneComponent_To_v1beta3_ControlPlaneComponent(&in.ControlPlaneComponent, &out.ControlPlaneComponent, s); err != nil {
return err
@ -589,6 +584,7 @@ func autoConvert_kubeadm_InitConfiguration_To_v1beta3_InitConfiguration(in *kube
out.CertificateKey = in.CertificateKey
out.SkipPhases = *(*[]string)(unsafe.Pointer(&in.SkipPhases))
out.Patches = (*Patches)(unsafe.Pointer(in.Patches))
// WARNING: in.Timeouts requires manual conversion: does not exist in peer-type
return nil
}
@ -606,11 +602,6 @@ func autoConvert_v1beta3_JoinConfiguration_To_kubeadm_JoinConfiguration(in *Join
return nil
}
// Convert_v1beta3_JoinConfiguration_To_kubeadm_JoinConfiguration is an autogenerated conversion function.
func Convert_v1beta3_JoinConfiguration_To_kubeadm_JoinConfiguration(in *JoinConfiguration, out *kubeadm.JoinConfiguration, s conversion.Scope) error {
return autoConvert_v1beta3_JoinConfiguration_To_kubeadm_JoinConfiguration(in, out, s)
}
func autoConvert_kubeadm_JoinConfiguration_To_v1beta3_JoinConfiguration(in *kubeadm.JoinConfiguration, out *JoinConfiguration, s conversion.Scope) error {
// WARNING: in.DryRun requires manual conversion: does not exist in peer-type
if err := Convert_kubeadm_NodeRegistrationOptions_To_v1beta3_NodeRegistrationOptions(&in.NodeRegistration, &out.NodeRegistration, s); err != nil {
@ -623,6 +614,7 @@ func autoConvert_kubeadm_JoinConfiguration_To_v1beta3_JoinConfiguration(in *kube
out.ControlPlane = (*JoinControlPlane)(unsafe.Pointer(in.ControlPlane))
out.SkipPhases = *(*[]string)(unsafe.Pointer(&in.SkipPhases))
out.Patches = (*Patches)(unsafe.Pointer(in.Patches))
// WARNING: in.Timeouts requires manual conversion: does not exist in peer-type
return nil
}

View File

@ -17,6 +17,7 @@ limitations under the License.
package v1beta4
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/conversion"
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
@ -34,5 +35,35 @@ func Convert_v1beta4_InitConfiguration_To_kubeadm_InitConfiguration(in *InitConf
return err
}
err = Convert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration(&ClusterConfiguration{}, &out.ClusterConfiguration, s)
out.ClusterConfiguration.APIServer.TimeoutForControlPlane = nil
return err
}
// Convert_kubeadm_APIServer_To_v1beta4_APIServer is required due to missing APIServer.TimeoutForControlPlane in v1beta4.
func Convert_kubeadm_APIServer_To_v1beta4_APIServer(in *kubeadm.APIServer, out *APIServer, s conversion.Scope) error {
return autoConvert_kubeadm_APIServer_To_v1beta4_APIServer(in, out, s)
}
// Convert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration is required due to missing TimeoutForControlPlane in v1beta4
func Convert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in *ClusterConfiguration, out *kubeadm.ClusterConfiguration, s conversion.Scope) error {
out.APIServer.TimeoutForControlPlane = &metav1.Duration{}
return autoConvert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in, out, s)
}
// Convert_v1beta4_JoinConfiguration_To_kubeadm_JoinConfiguration converts a public JoinConfiguration to a private JoinConfiguration.
func Convert_v1beta4_JoinConfiguration_To_kubeadm_JoinConfiguration(in *JoinConfiguration, out *kubeadm.JoinConfiguration, s conversion.Scope) error {
err := autoConvert_v1beta4_JoinConfiguration_To_kubeadm_JoinConfiguration(in, out, s)
return err
}
// Convert_kubeadm_Discovery_To_v1beta4_Discovery is required because there is no Discovery.Timeout in v1beta4
func Convert_kubeadm_Discovery_To_v1beta4_Discovery(in *kubeadm.Discovery, out *Discovery, s conversion.Scope) error {
return autoConvert_kubeadm_Discovery_To_v1beta4_Discovery(in, out, s)
}
// Convert_v1beta4_Discovery_To_kubeadm_Discovery is required because there is no Discovery.Timeout in v1beta4
func Convert_v1beta4_Discovery_To_kubeadm_Discovery(in *Discovery, out *kubeadm.Discovery, s conversion.Scope) error {
err := autoConvert_v1beta4_Discovery_To_kubeadm_Discovery(in, out, s)
out.Timeout = &metav1.Duration{}
return err
}

View File

@ -74,6 +74,10 @@ func SetDefaults_InitConfiguration(obj *InitConfiguration) {
SetDefaults_BootstrapTokens(obj)
SetDefaults_APIEndpoint(&obj.LocalAPIEndpoint)
SetDefaults_NodeRegistration(&obj.NodeRegistration)
if obj.Timeouts == nil {
obj.Timeouts = &Timeouts{}
}
SetDefaults_Timeouts(obj.Timeouts)
}
// SetDefaults_ClusterConfiguration assigns default values for the ClusterConfiguration
@ -107,16 +111,6 @@ func SetDefaults_ClusterConfiguration(obj *ClusterConfiguration) {
}
SetDefaults_Etcd(obj)
SetDefaults_APIServer(&obj.APIServer)
}
// SetDefaults_APIServer assigns default values for the API Server
func SetDefaults_APIServer(obj *APIServer) {
if obj.TimeoutForControlPlane == nil {
obj.TimeoutForControlPlane = &metav1.Duration{
Duration: constants.DefaultControlPlaneTimeout,
}
}
}
// SetDefaults_Etcd assigns default values for the proxy
@ -140,6 +134,10 @@ func SetDefaults_JoinConfiguration(obj *JoinConfiguration) {
SetDefaults_JoinControlPlane(obj.ControlPlane)
SetDefaults_Discovery(&obj.Discovery)
SetDefaults_NodeRegistration(&obj.NodeRegistration)
if obj.Timeouts == nil {
obj.Timeouts = &Timeouts{}
}
SetDefaults_Timeouts(obj.Timeouts)
}
// SetDefaults_JoinControlPlane assigns default values for a joining control plane node
@ -155,12 +153,6 @@ func SetDefaults_Discovery(obj *Discovery) {
obj.TLSBootstrapToken = obj.BootstrapToken.Token
}
if obj.Timeout == nil {
obj.Timeout = &metav1.Duration{
Duration: DefaultDiscoveryTimeout,
}
}
if obj.File != nil {
SetDefaults_FileDiscovery(obj.File)
}
@ -212,6 +204,10 @@ func SetDefaults_ResetConfiguration(obj *ResetConfiguration) {
if obj.CertificatesDir == "" {
obj.CertificatesDir = DefaultCertificatesDir
}
if obj.Timeouts == nil {
obj.Timeouts = &Timeouts{}
}
SetDefaults_Timeouts(obj.Timeouts)
}
// SetDefaults_EnvVar assigns default values for EnvVar.
@ -225,3 +221,37 @@ func SetDefaults_EnvVar(obj *EnvVar) {
}
}
}
// SetDefaults_Timeouts assigns default values for timeouts.
func SetDefaults_Timeouts(obj *Timeouts) {
if obj.ControlPlaneComponentHealthCheck == nil {
obj.ControlPlaneComponentHealthCheck = &metav1.Duration{
Duration: constants.DefaultControlPlaneTimeout,
}
}
if obj.KubeletHealthCheck == nil {
obj.KubeletHealthCheck = &metav1.Duration{
Duration: constants.DefaultKubeletTimeout,
}
}
if obj.KubernetesAPICall == nil {
obj.KubernetesAPICall = &metav1.Duration{
Duration: time.Minute * 1, // TODO: use constant
}
}
if obj.EtcdAPICall == nil {
obj.EtcdAPICall = &metav1.Duration{
Duration: time.Minute * 1, // TODO: use constant
}
}
if obj.TLSBootstrap == nil {
obj.TLSBootstrap = &metav1.Duration{
Duration: constants.TLSBootstrapTimeout,
}
}
if obj.Discovery == nil {
obj.Discovery = &metav1.Duration{
Duration: DefaultDiscoveryTimeout,
}
}
}

View File

@ -38,6 +38,8 @@ limitations under the License.
// - Add `ClusterConfiguration.DNS.Disabled` and `ClusterConfiguration.Proxy.Disabled` that can be used to disable
// the CoreDNS and kube-proxy addons during cluster initialization. Skipping the related addons phases,
// during cluster creation will set the same fields to `false`.
// - Add a `Timeouts` structure to `InitConfiguration`, `JoinConfiguration` and `ResetConfiguration“
// that can be used to configure various timeouts.
//
// Migration from old kubeadm config versions
//

View File

@ -72,6 +72,10 @@ type InitConfiguration struct {
// "kubeadm init".
// +optional
Patches *Patches `json:"patches,omitempty"`
// Timeouts holds various timeouts that apply to kubeadm commands.
// +optional
Timeouts *Timeouts `json:"timeouts,omitempty"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
@ -176,10 +180,6 @@ type APIServer struct {
// CertSANs sets extra Subject Alternative Names for the API Server signing cert.
// +optional
CertSANs []string `json:"certSANs,omitempty"`
// TimeoutForControlPlane controls the timeout that we use for API server to appear
// +optional
TimeoutForControlPlane *metav1.Duration `json:"timeoutForControlPlane,omitempty"`
}
// DNS defines the DNS addon that should be used in the cluster
@ -379,6 +379,10 @@ type JoinConfiguration struct {
// "kubeadm join".
// +optional
Patches *Patches `json:"patches,omitempty"`
// Timeouts holds various timeouts that apply to kubeadm commands.
// +optional
Timeouts *Timeouts `json:"timeouts,omitempty"`
}
// JoinControlPlane contains elements describing an additional control plane instance to be deployed on the joining node.
@ -411,10 +415,6 @@ type Discovery struct {
// If .File is set, this field **must be set** in case the KubeConfigFile does not contain any other authentication information
// +optional
TLSBootstrapToken string `json:"tlsBootstrapToken,omitempty" datapolicy:"token"`
// Timeout modifies the discovery timeout
// +optional
Timeout *metav1.Duration `json:"timeout,omitempty"`
}
// BootstrapTokenDiscovery is used to set the options for bootstrap token based discovery
@ -523,6 +523,10 @@ type ResetConfiguration struct {
// By default this list is empty.
// +optional
UnmountFlags []string `json:"unmountFlags,omitempty"`
// Timeouts holds various timeouts that apply to kubeadm commands.
// +optional
Timeouts *Timeouts `json:"timeouts,omitempty"`
}
// Arg represents an argument with a name and a value.
@ -545,3 +549,42 @@ const (
// EncryptionAlgorithmRSA defines the RSA encryption algorithm type.
EncryptionAlgorithmRSA EncryptionAlgorithmType = "RSA"
)
// Timeouts holds various timeouts that apply to kubeadm commands.
type Timeouts struct {
// ControlPlaneComponentHealthCheck is the amount of time to wait for a control plane
// component, such as the API server, to be healthy during "kubeadm init" and "kubeadm join".
// Default: 4m
// +optional
ControlPlaneComponentHealthCheck *metav1.Duration `json:"controlPlaneComponentHealthCheck,omitempty"`
// KubeletHealthCheck is the amount of time to wait for the kubelet to be healthy
// during "kubeadm init" and "kubeadm join".
// Default: 4m
// +optional
KubeletHealthCheck *metav1.Duration `json:"kubeletHealthCheck,omitempty"`
// KubernetesAPICall is the amount of time to wait for the kubeadm client to complete a request to
// the API server. This applies to all types of methods (GET, POST, etc).
// Default: 1m
// +optional
KubernetesAPICall *metav1.Duration `json:"kubernetesAPICall,omitempty"`
// EtcdAPICall is the amount of time to wait for the kubeadm etcd client to complete a request to
// the etcd cluster.
// Default: 2m
// +optional
EtcdAPICall *metav1.Duration `json:"etcdAPICall,omitempty"`
// TLSBootstrap is the amount of time to wait for the kubelet to complete TLS bootstrap
// for a joining node.
// Default: 5m
// +optional
TLSBootstrap *metav1.Duration `json:"tlsBootstrap,omitempty"`
// Discovery is the amount of time to wait for kubeadm to validate the API server identity
// for a joining node.
// Default: 5m
// +optional
Discovery *metav1.Duration `json:"discovery,omitempty"`
}

View File

@ -24,8 +24,8 @@ package v1beta4
import (
unsafe "unsafe"
corev1 "k8s.io/api/core/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
bootstraptokenv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/bootstraptoken/v1"
@ -54,11 +54,6 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*kubeadm.APIServer)(nil), (*APIServer)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_kubeadm_APIServer_To_v1beta4_APIServer(a.(*kubeadm.APIServer), b.(*APIServer), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*Arg)(nil), (*kubeadm.Arg)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_Arg_To_kubeadm_Arg(a.(*Arg), b.(*kubeadm.Arg), scope)
}); err != nil {
@ -79,11 +74,6 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*ClusterConfiguration)(nil), (*kubeadm.ClusterConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration(a.(*ClusterConfiguration), b.(*kubeadm.ClusterConfiguration), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*kubeadm.ClusterConfiguration)(nil), (*ClusterConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_kubeadm_ClusterConfiguration_To_v1beta4_ClusterConfiguration(a.(*kubeadm.ClusterConfiguration), b.(*ClusterConfiguration), scope)
}); err != nil {
@ -109,16 +99,6 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*Discovery)(nil), (*kubeadm.Discovery)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_Discovery_To_kubeadm_Discovery(a.(*Discovery), b.(*kubeadm.Discovery), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*kubeadm.Discovery)(nil), (*Discovery)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_kubeadm_Discovery_To_v1beta4_Discovery(a.(*kubeadm.Discovery), b.(*Discovery), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*EnvVar)(nil), (*kubeadm.EnvVar)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_EnvVar_To_kubeadm_EnvVar(a.(*EnvVar), b.(*kubeadm.EnvVar), scope)
}); err != nil {
@ -179,11 +159,6 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*JoinConfiguration)(nil), (*kubeadm.JoinConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_JoinConfiguration_To_kubeadm_JoinConfiguration(a.(*JoinConfiguration), b.(*kubeadm.JoinConfiguration), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*kubeadm.JoinConfiguration)(nil), (*JoinConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_kubeadm_JoinConfiguration_To_v1beta4_JoinConfiguration(a.(*kubeadm.JoinConfiguration), b.(*JoinConfiguration), scope)
}); err != nil {
@ -259,16 +234,51 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*Timeouts)(nil), (*kubeadm.Timeouts)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_Timeouts_To_kubeadm_Timeouts(a.(*Timeouts), b.(*kubeadm.Timeouts), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*kubeadm.Timeouts)(nil), (*Timeouts)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_kubeadm_Timeouts_To_v1beta4_Timeouts(a.(*kubeadm.Timeouts), b.(*Timeouts), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*kubeadm.APIServer)(nil), (*APIServer)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_kubeadm_APIServer_To_v1beta4_APIServer(a.(*kubeadm.APIServer), b.(*APIServer), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*kubeadm.Discovery)(nil), (*Discovery)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_kubeadm_Discovery_To_v1beta4_Discovery(a.(*kubeadm.Discovery), b.(*Discovery), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*kubeadm.InitConfiguration)(nil), (*InitConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_kubeadm_InitConfiguration_To_v1beta4_InitConfiguration(a.(*kubeadm.InitConfiguration), b.(*InitConfiguration), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*ClusterConfiguration)(nil), (*kubeadm.ClusterConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration(a.(*ClusterConfiguration), b.(*kubeadm.ClusterConfiguration), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*Discovery)(nil), (*kubeadm.Discovery)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_Discovery_To_kubeadm_Discovery(a.(*Discovery), b.(*kubeadm.Discovery), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*InitConfiguration)(nil), (*kubeadm.InitConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_InitConfiguration_To_kubeadm_InitConfiguration(a.(*InitConfiguration), b.(*kubeadm.InitConfiguration), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*JoinConfiguration)(nil), (*kubeadm.JoinConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta4_JoinConfiguration_To_kubeadm_JoinConfiguration(a.(*JoinConfiguration), b.(*kubeadm.JoinConfiguration), scope)
}); err != nil {
return err
}
return nil
}
@ -299,7 +309,6 @@ func autoConvert_v1beta4_APIServer_To_kubeadm_APIServer(in *APIServer, out *kube
return err
}
out.CertSANs = *(*[]string)(unsafe.Pointer(&in.CertSANs))
out.TimeoutForControlPlane = (*v1.Duration)(unsafe.Pointer(in.TimeoutForControlPlane))
return nil
}
@ -313,15 +322,10 @@ func autoConvert_kubeadm_APIServer_To_v1beta4_APIServer(in *kubeadm.APIServer, o
return err
}
out.CertSANs = *(*[]string)(unsafe.Pointer(&in.CertSANs))
out.TimeoutForControlPlane = (*v1.Duration)(unsafe.Pointer(in.TimeoutForControlPlane))
// WARNING: in.TimeoutForControlPlane requires manual conversion: does not exist in peer-type
return nil
}
// Convert_kubeadm_APIServer_To_v1beta4_APIServer is an autogenerated conversion function.
func Convert_kubeadm_APIServer_To_v1beta4_APIServer(in *kubeadm.APIServer, out *APIServer, s conversion.Scope) error {
return autoConvert_kubeadm_APIServer_To_v1beta4_APIServer(in, out, s)
}
func autoConvert_v1beta4_Arg_To_kubeadm_Arg(in *Arg, out *kubeadm.Arg, s conversion.Scope) error {
out.Name = in.Name
out.Value = in.Value
@ -402,11 +406,6 @@ func autoConvert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in
return nil
}
// Convert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration is an autogenerated conversion function.
func Convert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in *ClusterConfiguration, out *kubeadm.ClusterConfiguration, s conversion.Scope) error {
return autoConvert_v1beta4_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in, out, s)
}
func autoConvert_kubeadm_ClusterConfiguration_To_v1beta4_ClusterConfiguration(in *kubeadm.ClusterConfiguration, out *ClusterConfiguration, s conversion.Scope) error {
// INFO: in.ComponentConfigs opted out of conversion generation
if err := Convert_kubeadm_Etcd_To_v1beta4_Etcd(&in.Etcd, &out.Etcd, s); err != nil {
@ -501,28 +500,17 @@ func autoConvert_v1beta4_Discovery_To_kubeadm_Discovery(in *Discovery, out *kube
out.BootstrapToken = (*kubeadm.BootstrapTokenDiscovery)(unsafe.Pointer(in.BootstrapToken))
out.File = (*kubeadm.FileDiscovery)(unsafe.Pointer(in.File))
out.TLSBootstrapToken = in.TLSBootstrapToken
out.Timeout = (*v1.Duration)(unsafe.Pointer(in.Timeout))
return nil
}
// Convert_v1beta4_Discovery_To_kubeadm_Discovery is an autogenerated conversion function.
func Convert_v1beta4_Discovery_To_kubeadm_Discovery(in *Discovery, out *kubeadm.Discovery, s conversion.Scope) error {
return autoConvert_v1beta4_Discovery_To_kubeadm_Discovery(in, out, s)
}
func autoConvert_kubeadm_Discovery_To_v1beta4_Discovery(in *kubeadm.Discovery, out *Discovery, s conversion.Scope) error {
out.BootstrapToken = (*BootstrapTokenDiscovery)(unsafe.Pointer(in.BootstrapToken))
out.File = (*FileDiscovery)(unsafe.Pointer(in.File))
out.TLSBootstrapToken = in.TLSBootstrapToken
out.Timeout = (*v1.Duration)(unsafe.Pointer(in.Timeout))
// WARNING: in.Timeout requires manual conversion: does not exist in peer-type
return nil
}
// Convert_kubeadm_Discovery_To_v1beta4_Discovery is an autogenerated conversion function.
func Convert_kubeadm_Discovery_To_v1beta4_Discovery(in *kubeadm.Discovery, out *Discovery, s conversion.Scope) error {
return autoConvert_kubeadm_Discovery_To_v1beta4_Discovery(in, out, s)
}
func autoConvert_v1beta4_EnvVar_To_kubeadm_EnvVar(in *EnvVar, out *kubeadm.EnvVar, s conversion.Scope) error {
out.EnvVar = in.EnvVar
return nil
@ -616,7 +604,7 @@ func autoConvert_v1beta4_HostPathMount_To_kubeadm_HostPathMount(in *HostPathMoun
out.HostPath = in.HostPath
out.MountPath = in.MountPath
out.ReadOnly = in.ReadOnly
out.PathType = corev1.HostPathType(in.PathType)
out.PathType = v1.HostPathType(in.PathType)
return nil
}
@ -630,7 +618,7 @@ func autoConvert_kubeadm_HostPathMount_To_v1beta4_HostPathMount(in *kubeadm.Host
out.HostPath = in.HostPath
out.MountPath = in.MountPath
out.ReadOnly = in.ReadOnly
out.PathType = corev1.HostPathType(in.PathType)
out.PathType = v1.HostPathType(in.PathType)
return nil
}
@ -673,6 +661,7 @@ func autoConvert_v1beta4_InitConfiguration_To_kubeadm_InitConfiguration(in *Init
out.CertificateKey = in.CertificateKey
out.SkipPhases = *(*[]string)(unsafe.Pointer(&in.SkipPhases))
out.Patches = (*kubeadm.Patches)(unsafe.Pointer(in.Patches))
out.Timeouts = (*kubeadm.Timeouts)(unsafe.Pointer(in.Timeouts))
return nil
}
@ -689,6 +678,7 @@ func autoConvert_kubeadm_InitConfiguration_To_v1beta4_InitConfiguration(in *kube
out.CertificateKey = in.CertificateKey
out.SkipPhases = *(*[]string)(unsafe.Pointer(&in.SkipPhases))
out.Patches = (*Patches)(unsafe.Pointer(in.Patches))
out.Timeouts = (*Timeouts)(unsafe.Pointer(in.Timeouts))
return nil
}
@ -704,14 +694,10 @@ func autoConvert_v1beta4_JoinConfiguration_To_kubeadm_JoinConfiguration(in *Join
out.ControlPlane = (*kubeadm.JoinControlPlane)(unsafe.Pointer(in.ControlPlane))
out.SkipPhases = *(*[]string)(unsafe.Pointer(&in.SkipPhases))
out.Patches = (*kubeadm.Patches)(unsafe.Pointer(in.Patches))
out.Timeouts = (*kubeadm.Timeouts)(unsafe.Pointer(in.Timeouts))
return nil
}
// Convert_v1beta4_JoinConfiguration_To_kubeadm_JoinConfiguration is an autogenerated conversion function.
func Convert_v1beta4_JoinConfiguration_To_kubeadm_JoinConfiguration(in *JoinConfiguration, out *kubeadm.JoinConfiguration, s conversion.Scope) error {
return autoConvert_v1beta4_JoinConfiguration_To_kubeadm_JoinConfiguration(in, out, s)
}
func autoConvert_kubeadm_JoinConfiguration_To_v1beta4_JoinConfiguration(in *kubeadm.JoinConfiguration, out *JoinConfiguration, s conversion.Scope) error {
out.DryRun = in.DryRun
if err := Convert_kubeadm_NodeRegistrationOptions_To_v1beta4_NodeRegistrationOptions(&in.NodeRegistration, &out.NodeRegistration, s); err != nil {
@ -724,6 +710,7 @@ func autoConvert_kubeadm_JoinConfiguration_To_v1beta4_JoinConfiguration(in *kube
out.ControlPlane = (*JoinControlPlane)(unsafe.Pointer(in.ControlPlane))
out.SkipPhases = *(*[]string)(unsafe.Pointer(&in.SkipPhases))
out.Patches = (*Patches)(unsafe.Pointer(in.Patches))
out.Timeouts = (*Timeouts)(unsafe.Pointer(in.Timeouts))
return nil
}
@ -819,10 +806,10 @@ func Convert_kubeadm_Networking_To_v1beta4_Networking(in *kubeadm.Networking, ou
func autoConvert_v1beta4_NodeRegistrationOptions_To_kubeadm_NodeRegistrationOptions(in *NodeRegistrationOptions, out *kubeadm.NodeRegistrationOptions, s conversion.Scope) error {
out.Name = in.Name
out.CRISocket = in.CRISocket
out.Taints = *(*[]corev1.Taint)(unsafe.Pointer(&in.Taints))
out.Taints = *(*[]v1.Taint)(unsafe.Pointer(&in.Taints))
out.KubeletExtraArgs = *(*[]kubeadm.Arg)(unsafe.Pointer(&in.KubeletExtraArgs))
out.IgnorePreflightErrors = *(*[]string)(unsafe.Pointer(&in.IgnorePreflightErrors))
out.ImagePullPolicy = corev1.PullPolicy(in.ImagePullPolicy)
out.ImagePullPolicy = v1.PullPolicy(in.ImagePullPolicy)
return nil
}
@ -834,10 +821,10 @@ func Convert_v1beta4_NodeRegistrationOptions_To_kubeadm_NodeRegistrationOptions(
func autoConvert_kubeadm_NodeRegistrationOptions_To_v1beta4_NodeRegistrationOptions(in *kubeadm.NodeRegistrationOptions, out *NodeRegistrationOptions, s conversion.Scope) error {
out.Name = in.Name
out.CRISocket = in.CRISocket
out.Taints = *(*[]corev1.Taint)(unsafe.Pointer(&in.Taints))
out.Taints = *(*[]v1.Taint)(unsafe.Pointer(&in.Taints))
out.KubeletExtraArgs = *(*[]Arg)(unsafe.Pointer(&in.KubeletExtraArgs))
out.IgnorePreflightErrors = *(*[]string)(unsafe.Pointer(&in.IgnorePreflightErrors))
out.ImagePullPolicy = corev1.PullPolicy(in.ImagePullPolicy)
out.ImagePullPolicy = v1.PullPolicy(in.ImagePullPolicy)
return nil
}
@ -895,6 +882,7 @@ func autoConvert_v1beta4_ResetConfiguration_To_kubeadm_ResetConfiguration(in *Re
out.IgnorePreflightErrors = *(*[]string)(unsafe.Pointer(&in.IgnorePreflightErrors))
out.SkipPhases = *(*[]string)(unsafe.Pointer(&in.SkipPhases))
out.UnmountFlags = *(*[]string)(unsafe.Pointer(&in.UnmountFlags))
out.Timeouts = (*kubeadm.Timeouts)(unsafe.Pointer(in.Timeouts))
return nil
}
@ -912,6 +900,7 @@ func autoConvert_kubeadm_ResetConfiguration_To_v1beta4_ResetConfiguration(in *ku
out.IgnorePreflightErrors = *(*[]string)(unsafe.Pointer(&in.IgnorePreflightErrors))
out.SkipPhases = *(*[]string)(unsafe.Pointer(&in.SkipPhases))
out.UnmountFlags = *(*[]string)(unsafe.Pointer(&in.UnmountFlags))
out.Timeouts = (*Timeouts)(unsafe.Pointer(in.Timeouts))
return nil
}
@ -919,3 +908,33 @@ func autoConvert_kubeadm_ResetConfiguration_To_v1beta4_ResetConfiguration(in *ku
func Convert_kubeadm_ResetConfiguration_To_v1beta4_ResetConfiguration(in *kubeadm.ResetConfiguration, out *ResetConfiguration, s conversion.Scope) error {
return autoConvert_kubeadm_ResetConfiguration_To_v1beta4_ResetConfiguration(in, out, s)
}
func autoConvert_v1beta4_Timeouts_To_kubeadm_Timeouts(in *Timeouts, out *kubeadm.Timeouts, s conversion.Scope) error {
out.ControlPlaneComponentHealthCheck = (*metav1.Duration)(unsafe.Pointer(in.ControlPlaneComponentHealthCheck))
out.KubeletHealthCheck = (*metav1.Duration)(unsafe.Pointer(in.KubeletHealthCheck))
out.KubernetesAPICall = (*metav1.Duration)(unsafe.Pointer(in.KubernetesAPICall))
out.EtcdAPICall = (*metav1.Duration)(unsafe.Pointer(in.EtcdAPICall))
out.TLSBootstrap = (*metav1.Duration)(unsafe.Pointer(in.TLSBootstrap))
out.Discovery = (*metav1.Duration)(unsafe.Pointer(in.Discovery))
return nil
}
// Convert_v1beta4_Timeouts_To_kubeadm_Timeouts is an autogenerated conversion function.
func Convert_v1beta4_Timeouts_To_kubeadm_Timeouts(in *Timeouts, out *kubeadm.Timeouts, s conversion.Scope) error {
return autoConvert_v1beta4_Timeouts_To_kubeadm_Timeouts(in, out, s)
}
func autoConvert_kubeadm_Timeouts_To_v1beta4_Timeouts(in *kubeadm.Timeouts, out *Timeouts, s conversion.Scope) error {
out.ControlPlaneComponentHealthCheck = (*metav1.Duration)(unsafe.Pointer(in.ControlPlaneComponentHealthCheck))
out.KubeletHealthCheck = (*metav1.Duration)(unsafe.Pointer(in.KubeletHealthCheck))
out.KubernetesAPICall = (*metav1.Duration)(unsafe.Pointer(in.KubernetesAPICall))
out.EtcdAPICall = (*metav1.Duration)(unsafe.Pointer(in.EtcdAPICall))
out.TLSBootstrap = (*metav1.Duration)(unsafe.Pointer(in.TLSBootstrap))
out.Discovery = (*metav1.Duration)(unsafe.Pointer(in.Discovery))
return nil
}
// Convert_kubeadm_Timeouts_To_v1beta4_Timeouts is an autogenerated conversion function.
func Convert_kubeadm_Timeouts_To_v1beta4_Timeouts(in *kubeadm.Timeouts, out *Timeouts, s conversion.Scope) error {
return autoConvert_kubeadm_Timeouts_To_v1beta4_Timeouts(in, out, s)
}

View File

@ -23,9 +23,9 @@ package v1beta4
import (
corev1 "k8s.io/api/core/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
bootstraptokenv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/bootstraptoken/v1"
v1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/bootstraptoken/v1"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
@ -53,11 +53,6 @@ func (in *APIServer) DeepCopyInto(out *APIServer) {
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.TimeoutForControlPlane != nil {
in, out := &in.TimeoutForControlPlane, &out.TimeoutForControlPlane
*out = new(v1.Duration)
**out = **in
}
return
}
@ -210,11 +205,6 @@ func (in *Discovery) DeepCopyInto(out *Discovery) {
*out = new(FileDiscovery)
**out = **in
}
if in.Timeout != nil {
in, out := &in.Timeout, &out.Timeout
*out = new(v1.Duration)
**out = **in
}
return
}
@ -346,7 +336,7 @@ func (in *InitConfiguration) DeepCopyInto(out *InitConfiguration) {
out.TypeMeta = in.TypeMeta
if in.BootstrapTokens != nil {
in, out := &in.BootstrapTokens, &out.BootstrapTokens
*out = make([]bootstraptokenv1.BootstrapToken, len(*in))
*out = make([]v1.BootstrapToken, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
@ -363,6 +353,11 @@ func (in *InitConfiguration) DeepCopyInto(out *InitConfiguration) {
*out = new(Patches)
**out = **in
}
if in.Timeouts != nil {
in, out := &in.Timeouts, &out.Timeouts
*out = new(Timeouts)
(*in).DeepCopyInto(*out)
}
return
}
@ -405,6 +400,11 @@ func (in *JoinConfiguration) DeepCopyInto(out *JoinConfiguration) {
*out = new(Patches)
**out = **in
}
if in.Timeouts != nil {
in, out := &in.Timeouts, &out.Timeouts
*out = new(Timeouts)
(*in).DeepCopyInto(*out)
}
return
}
@ -582,6 +582,11 @@ func (in *ResetConfiguration) DeepCopyInto(out *ResetConfiguration) {
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Timeouts != nil {
in, out := &in.Timeouts, &out.Timeouts
*out = new(Timeouts)
(*in).DeepCopyInto(*out)
}
return
}
@ -602,3 +607,49 @@ func (in *ResetConfiguration) DeepCopyObject() runtime.Object {
}
return nil
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Timeouts) DeepCopyInto(out *Timeouts) {
*out = *in
if in.ControlPlaneComponentHealthCheck != nil {
in, out := &in.ControlPlaneComponentHealthCheck, &out.ControlPlaneComponentHealthCheck
*out = new(metav1.Duration)
**out = **in
}
if in.KubeletHealthCheck != nil {
in, out := &in.KubeletHealthCheck, &out.KubeletHealthCheck
*out = new(metav1.Duration)
**out = **in
}
if in.KubernetesAPICall != nil {
in, out := &in.KubernetesAPICall, &out.KubernetesAPICall
*out = new(metav1.Duration)
**out = **in
}
if in.EtcdAPICall != nil {
in, out := &in.EtcdAPICall, &out.EtcdAPICall
*out = new(metav1.Duration)
**out = **in
}
if in.TLSBootstrap != nil {
in, out := &in.TLSBootstrap, &out.TLSBootstrap
*out = new(metav1.Duration)
**out = **in
}
if in.Discovery != nil {
in, out := &in.Discovery, &out.Discovery
*out = new(metav1.Duration)
**out = **in
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timeouts.
func (in *Timeouts) DeepCopy() *Timeouts {
if in == nil {
return nil
}
out := new(Timeouts)
in.DeepCopyInto(out)
return out
}

View File

@ -44,7 +44,6 @@ func SetObjectDefaults_ClusterConfiguration(in *ClusterConfiguration) {
SetDefaults_EnvVar(a)
}
}
SetDefaults_APIServer(&in.APIServer)
for i := range in.APIServer.ControlPlaneComponent.ExtraEnvs {
a := &in.APIServer.ControlPlaneComponent.ExtraEnvs[i]
SetDefaults_EnvVar(a)
@ -62,6 +61,9 @@ func SetObjectDefaults_ClusterConfiguration(in *ClusterConfiguration) {
func SetObjectDefaults_InitConfiguration(in *InitConfiguration) {
SetDefaults_InitConfiguration(in)
SetDefaults_APIEndpoint(&in.LocalAPIEndpoint)
if in.Timeouts != nil {
SetDefaults_Timeouts(in.Timeouts)
}
}
func SetObjectDefaults_JoinConfiguration(in *JoinConfiguration) {
@ -74,8 +76,14 @@ func SetObjectDefaults_JoinConfiguration(in *JoinConfiguration) {
SetDefaults_JoinControlPlane(in.ControlPlane)
SetDefaults_APIEndpoint(&in.ControlPlane.LocalAPIEndpoint)
}
if in.Timeouts != nil {
SetDefaults_Timeouts(in.Timeouts)
}
}
func SetObjectDefaults_ResetConfiguration(in *ResetConfiguration) {
SetDefaults_ResetConfiguration(in)
if in.Timeouts != nil {
SetDefaults_Timeouts(in.Timeouts)
}
}

View File

@ -393,6 +393,11 @@ func (in *InitConfiguration) DeepCopyInto(out *InitConfiguration) {
*out = new(Patches)
**out = **in
}
if in.Timeouts != nil {
in, out := &in.Timeouts, &out.Timeouts
*out = new(Timeouts)
(*in).DeepCopyInto(*out)
}
return
}
@ -435,6 +440,11 @@ func (in *JoinConfiguration) DeepCopyInto(out *JoinConfiguration) {
*out = new(Patches)
**out = **in
}
if in.Timeouts != nil {
in, out := &in.Timeouts, &out.Timeouts
*out = new(Timeouts)
(*in).DeepCopyInto(*out)
}
return
}
@ -612,6 +622,11 @@ func (in *ResetConfiguration) DeepCopyInto(out *ResetConfiguration) {
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Timeouts != nil {
in, out := &in.Timeouts, &out.Timeouts
*out = new(Timeouts)
(*in).DeepCopyInto(*out)
}
return
}
@ -632,3 +647,49 @@ func (in *ResetConfiguration) DeepCopyObject() runtime.Object {
}
return nil
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Timeouts) DeepCopyInto(out *Timeouts) {
*out = *in
if in.ControlPlaneComponentHealthCheck != nil {
in, out := &in.ControlPlaneComponentHealthCheck, &out.ControlPlaneComponentHealthCheck
*out = new(v1.Duration)
**out = **in
}
if in.KubeletHealthCheck != nil {
in, out := &in.KubeletHealthCheck, &out.KubeletHealthCheck
*out = new(v1.Duration)
**out = **in
}
if in.KubernetesAPICall != nil {
in, out := &in.KubernetesAPICall, &out.KubernetesAPICall
*out = new(v1.Duration)
**out = **in
}
if in.EtcdAPICall != nil {
in, out := &in.EtcdAPICall, &out.EtcdAPICall
*out = new(v1.Duration)
**out = **in
}
if in.TLSBootstrap != nil {
in, out := &in.TLSBootstrap, &out.TLSBootstrap
*out = new(v1.Duration)
**out = **in
}
if in.Discovery != nil {
in, out := &in.Discovery, &out.Discovery
*out = new(v1.Duration)
**out = **in
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timeouts.
func (in *Timeouts) DeepCopy() *Timeouts {
if in == nil {
return nil
}
out := new(Timeouts)
in.DeepCopyInto(out)
return out
}