Skip to content

Commit 905f389

Browse files
committed
Address reveiw comments
1 parent 9da25c6 commit 905f389

File tree

19 files changed

+160
-103
lines changed

19 files changed

+160
-103
lines changed

api/bootstrap/kubeadm/v1beta1/conversion.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,18 @@ func RestoreKubeadmConfigSpec(restored *bootstrapv1.KubeadmConfigSpec, dst *boot
8383
}
8484
dst.JoinConfiguration.Timeouts = restored.JoinConfiguration.Timeouts
8585
}
86+
if restored.ClusterConfiguration != nil &&
87+
(restored.ClusterConfiguration.CertificateValidityPeriodDays != nil || restored.ClusterConfiguration.CACertificateValidityPeriodDays != nil) {
88+
if dst.ClusterConfiguration == nil {
89+
dst.ClusterConfiguration = &bootstrapv1.ClusterConfiguration{}
90+
}
91+
if restored.ClusterConfiguration.CertificateValidityPeriodDays != nil {
92+
dst.ClusterConfiguration.CertificateValidityPeriodDays = restored.ClusterConfiguration.CertificateValidityPeriodDays
93+
}
94+
if restored.ClusterConfiguration.CACertificateValidityPeriodDays != nil {
95+
dst.ClusterConfiguration.CACertificateValidityPeriodDays = restored.ClusterConfiguration.CACertificateValidityPeriodDays
96+
}
97+
}
8698
}
8799

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

api/bootstrap/kubeadm/v1beta1/conversion_test.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,6 @@ func hubKubeadmConfigSpec(in *bootstrapv1.KubeadmConfigSpec, c randfill.Continue
128128
}
129129
in.JoinConfiguration.Timeouts.ControlPlaneComponentHealthCheckSeconds = initControlPlaneComponentHealthCheckSeconds
130130
}
131-
132-
// Drop the field to avoid round trip errors as it exists only in v1beta2.
133-
if in.ClusterConfiguration != nil {
134-
in.ClusterConfiguration.CertificateValidityPeriodSeconds = nil
135-
in.ClusterConfiguration.CACertificateValidityPeriodSeconds = nil
136-
}
137131
}
138132

139133
func hubNodeRegistrationOptions(in *bootstrapv1.NodeRegistrationOptions, c randfill.Continue) {

api/bootstrap/kubeadm/v1beta2/kubeadm_types.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,15 +181,15 @@ type ClusterConfiguration struct {
181181
// +optional
182182
FeatureGates map[string]bool `json:"featureGates,omitempty"`
183183

184-
// certificateValidityPeriodSeconds specifies the validity period for a non-CA certificate generated by kubeadm.
185-
// Default value: 756,864,000 seconds -> 8760h (365 days * 24 hours = 1 year)
184+
// certificateValidityPeriodDays specifies the validity period for a non-CA certificate generated by kubeadm.
185+
// Default value: 3650 days (10 years) set by kubeadm.
186186
// +optional
187-
CertificateValidityPeriodSeconds *int32 `json:"certificateValidityPeriodSeconds,omitempty"`
187+
CertificateValidityPeriodDays *int32 `json:"certificateValidityPeriodDays,omitempty"`
188188

189-
// caCertificateValidityPeriodSeconds specifies the validity period for a CA certificate generated by kubeadm.
190-
// Default value: 756,864,000 seconds -> 87600h (365 days * 24 hours * 10 = 10 years)
189+
// caCertificateValidityPeriodDays specifies the validity period for a CA certificate generated by kubeadm.
190+
// Default value: 3650 days (10 years) set by kubeadm.
191191
// +optional
192-
CACertificateValidityPeriodSeconds *int32 `json:"caCertificateValidityPeriodSeconds,omitempty"`
192+
CACertificateValidityPeriodDays *int32 `json:"caCertificateValidityPeriodDays,omitempty"`
193193
}
194194

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

api/bootstrap/kubeadm/v1beta2/zz_generated.deepcopy.go

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/controlplane/kubeadm/v1beta1/conversion_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ func hubKubeadmConfigSpec(in *bootstrapv1.KubeadmConfigSpec, c randfill.Continue
123123
in.JoinConfiguration.Timeouts.ControlPlaneComponentHealthCheckSeconds = initControlPlaneComponentHealthCheckSeconds
124124
}
125125
if in.ClusterConfiguration != nil {
126-
in.ClusterConfiguration.CertificateValidityPeriodSeconds = nil
127-
in.ClusterConfiguration.CACertificateValidityPeriodSeconds = nil
126+
in.ClusterConfiguration.CertificateValidityPeriodDays = nil
127+
in.ClusterConfiguration.CACertificateValidityPeriodDays = nil
128128
}
129129
}
130130

api/core/v1beta2/conversion.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,26 @@ func Convert_Duration_To_Pointer_int32(in metav1.Duration, hasRestored bool, res
104104
// Otherwise, if the value is not 0, convert to *value.
105105
*out = ConvertToSeconds(&in)
106106
}
107+
108+
// ConvertToDays takes *metav1.Duration and returns a *int32.
109+
// Durations longer than MaxInt32 are capped.
110+
// NOTE: this is a util function intended only for usage in API conversions.
111+
func ConvertToDays(in *metav1.Duration) *int32 {
112+
if in == nil {
113+
return nil
114+
}
115+
hours := math.Trunc(in.Hours())
116+
if hours > math.MaxInt32 {
117+
return ptr.To[int32](math.MaxInt32)
118+
}
119+
return ptr.To(int32(hours / 24))
120+
}
121+
122+
// ConvertFromDays takes *int32 and returns a *metav1.Duration.
123+
// NOTE: this is a util function intended only for usage in API conversions.
124+
func ConvertFromDays(in *int32) *metav1.Duration {
125+
if in == nil {
126+
return nil
127+
}
128+
return ptr.To(metav1.Duration{Duration: time.Duration(*in) * time.Hour * 24})
129+
}

bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigs.yaml

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bootstrap/kubeadm/config/crd/bases/bootstrap.cluster.x-k8s.io_kubeadmconfigtemplates.yaml

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bootstrap/kubeadm/types/upstreamv1beta3/conversion_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,6 @@ func hubBootstrapTokenDiscoveryFuzzer(obj *bootstrapv1.BootstrapTokenDiscovery,
232232
func hubClusterConfigurationFuzzer(obj *bootstrapv1.ClusterConfiguration, c randfill.Continue) {
233233
c.FillNoCustom(obj)
234234

235-
obj.CertificateValidityPeriodSeconds = nil
236-
obj.CACertificateValidityPeriodSeconds = nil
235+
obj.CertificateValidityPeriodDays = nil
236+
obj.CACertificateValidityPeriodDays = nil
237237
}

bootstrap/kubeadm/types/upstreamv1beta4/conversion.go

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,21 @@ func Convert_upstreamv1beta4_ClusterConfiguration_To_v1beta2_ClusterConfiguratio
6565
// Following fields do not exist in CABPK v1beta1 version:
6666
// - Proxy (Not supported yet)
6767
// - EncryptionAlgorithm (Not supported yet)
68-
// - CACertificateValidityPeriod (Not supported yet)
6968
if err := autoConvert_upstreamv1beta4_ClusterConfiguration_To_v1beta2_ClusterConfiguration(in, out, s); err != nil {
7069
return err
7170
}
72-
out.CertificateValidityPeriodSeconds = clusterv1.ConvertToSeconds(in.CertificateValidityPeriod)
73-
out.CACertificateValidityPeriodSeconds = clusterv1.ConvertToSeconds(in.CACertificateValidityPeriod)
71+
out.CertificateValidityPeriodDays = clusterv1.ConvertToDays(in.CertificateValidityPeriod)
72+
out.CACertificateValidityPeriodDays = clusterv1.ConvertToSeconds(in.CACertificateValidityPeriod)
73+
return nil
74+
}
75+
76+
// Convert_v1beta2_ClusterConfiguration_To_upstreamv1beta4_ClusterConfiguration is an autogenerated conversion function.
77+
func Convert_v1beta2_ClusterConfiguration_To_upstreamv1beta4_ClusterConfiguration(in *bootstrapv1.ClusterConfiguration, out *ClusterConfiguration, s apimachineryconversion.Scope) error {
78+
if err := autoConvert_v1beta2_ClusterConfiguration_To_upstreamv1beta4_ClusterConfiguration(in, out, s); err != nil {
79+
return err
80+
}
81+
out.CertificateValidityPeriod = clusterv1.ConvertFromDays(in.CertificateValidityPeriodDays)
82+
out.CACertificateValidityPeriod = clusterv1.ConvertFromSeconds(in.CACertificateValidityPeriodDays)
7483
return nil
7584
}
7685

@@ -307,13 +316,3 @@ func (src *ClusterConfiguration) GetAdditionalData(data *upstream.AdditionalData
307316
// NOTE: for kubeadm v1beta4 types we are not reading ControlPlaneComponentHealthCheckSeconds into additional data
308317
// because Cluster API types are aligned with kubeadm's v1beta4 API version.
309318
}
310-
311-
// Convert_v1beta2_ClusterConfiguration_To_upstreamv1beta4_ClusterConfiguration is an autogenerated conversion function.
312-
func Convert_v1beta2_ClusterConfiguration_To_upstreamv1beta4_ClusterConfiguration(in *bootstrapv1.ClusterConfiguration, out *ClusterConfiguration, s apimachineryconversion.Scope) error {
313-
if err := autoConvert_v1beta2_ClusterConfiguration_To_upstreamv1beta4_ClusterConfiguration(in, out, s); err != nil {
314-
return err
315-
}
316-
out.CertificateValidityPeriod = clusterv1.ConvertFromSeconds(in.CertificateValidityPeriodSeconds)
317-
out.CACertificateValidityPeriod = clusterv1.ConvertFromSeconds(in.CACertificateValidityPeriodSeconds)
318-
return nil
319-
}

0 commit comments

Comments
 (0)