Skip to content

Commit fb00ea2

Browse files
committed
Change envVars fields from []EnvVar to *[]EnvVar
Signed-off-by: Stefan Büringer [email protected]
1 parent 16d7356 commit fb00ea2

File tree

17 files changed

+304
-75
lines changed

17 files changed

+304
-75
lines changed

.golangci-kal.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ linters:
158158
text: "optionalfields: field Taints is optional but the underlying type does not need to be a pointer. The pointer should be removed."
159159
linters:
160160
- kubeapilinter
161+
- path: "api/bootstrap/kubeadm/v1beta2/kubeadm_types.go"
162+
text: "optionalfields: field ExtraEnvs is optional and does not allow the zero value. The field does not need to be a pointer."
163+
linters:
164+
- kubeapilinter
161165
# KAL does not handle omitzero correctly yet: https://github.com/kubernetes-sigs/kube-api-linter/pull/115
162166
- path: "api/.*"
163167
text: "optionalfields: field (Status|Initialization) is optional and should (be a pointer|have the omitempty tag)"

api/bootstrap/kubeadm/v1beta1/conversion.go

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,11 @@ func Convert_v1beta2_KubeadmConfigStatus_To_v1beta1_KubeadmConfigStatus(in *boot
386386
func Convert_v1beta2_APIServer_To_v1beta1_APIServer(in *bootstrapv1.APIServer, out *APIServer, s apimachineryconversion.Scope) error {
387387
// Following fields require a custom conversions.
388388
out.ExtraArgs = bootstrapv1.ConvertFromArgs(in.ExtraArgs)
389-
out.ExtraEnvs = *(*[]EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
389+
if in.ExtraEnvs == nil {
390+
out.ExtraEnvs = nil
391+
} else {
392+
out.ExtraEnvs = *(*[]EnvVar)(unsafe.Pointer(in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
393+
}
390394
if err := convert_v1beta2_ExtraVolumes_To_v1beta1_ExtraVolumes(&in.ExtraVolumes, &out.ExtraVolumes, s); err != nil {
391395
return err
392396
}
@@ -396,14 +400,22 @@ func Convert_v1beta2_APIServer_To_v1beta1_APIServer(in *bootstrapv1.APIServer, o
396400
func Convert_v1beta2_ControllerManager_To_v1beta1_ControlPlaneComponent(in *bootstrapv1.ControllerManager, out *ControlPlaneComponent, s apimachineryconversion.Scope) error {
397401
// Following fields require a custom conversions.
398402
out.ExtraArgs = bootstrapv1.ConvertFromArgs(in.ExtraArgs)
399-
out.ExtraEnvs = *(*[]EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
403+
if in.ExtraEnvs == nil {
404+
out.ExtraEnvs = nil
405+
} else {
406+
out.ExtraEnvs = *(*[]EnvVar)(unsafe.Pointer(in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
407+
}
400408
return convert_v1beta2_ExtraVolumes_To_v1beta1_ExtraVolumes(&in.ExtraVolumes, &out.ExtraVolumes, s)
401409
}
402410

403411
func Convert_v1beta2_Scheduler_To_v1beta1_ControlPlaneComponent(in *bootstrapv1.Scheduler, out *ControlPlaneComponent, s apimachineryconversion.Scope) error {
404412
// Following fields require a custom conversions.
405413
out.ExtraArgs = bootstrapv1.ConvertFromArgs(in.ExtraArgs)
406-
out.ExtraEnvs = *(*[]EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
414+
if in.ExtraEnvs == nil {
415+
out.ExtraEnvs = nil
416+
} else {
417+
out.ExtraEnvs = *(*[]EnvVar)(unsafe.Pointer(in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
418+
}
407419
return convert_v1beta2_ExtraVolumes_To_v1beta1_ExtraVolumes(&in.ExtraVolumes, &out.ExtraVolumes, s)
408420
}
409421

@@ -424,6 +436,11 @@ func convert_v1beta2_ExtraVolumes_To_v1beta1_ExtraVolumes(in *[]bootstrapv1.Host
424436
func Convert_v1beta2_LocalEtcd_To_v1beta1_LocalEtcd(in *bootstrapv1.LocalEtcd, out *LocalEtcd, s apimachineryconversion.Scope) error {
425437
// Following fields require a custom conversions.
426438
out.ExtraArgs = bootstrapv1.ConvertFromArgs(in.ExtraArgs)
439+
if in.ExtraEnvs == nil {
440+
out.ExtraEnvs = nil
441+
} else {
442+
out.ExtraEnvs = *(*[]EnvVar)(unsafe.Pointer(in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
443+
}
427444
return autoConvert_v1beta2_LocalEtcd_To_v1beta1_LocalEtcd(in, out, s)
428445
}
429446

@@ -452,7 +469,11 @@ func Convert_v1beta2_BootstrapToken_To_v1beta1_BootstrapToken(in *bootstrapv1.Bo
452469
func Convert_v1beta1_APIServer_To_v1beta2_APIServer(in *APIServer, out *bootstrapv1.APIServer, s apimachineryconversion.Scope) error {
453470
// TimeoutForControlPlane has been removed in v1beta2
454471
out.ExtraArgs = bootstrapv1.ConvertToArgs(in.ExtraArgs)
455-
out.ExtraEnvs = *(*[]bootstrapv1.EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
472+
if in.ExtraEnvs == nil {
473+
out.ExtraEnvs = nil
474+
} else {
475+
out.ExtraEnvs = (*[]bootstrapv1.EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
476+
}
456477
if err := convert_v1beta1_ExtraVolumes_To_v1beta2_ExtraVolumes(&in.ExtraVolumes, &out.ExtraVolumes, s); err != nil {
457478
return err
458479
}
@@ -461,13 +482,21 @@ func Convert_v1beta1_APIServer_To_v1beta2_APIServer(in *APIServer, out *bootstra
461482

462483
func Convert_v1beta1_ControlPlaneComponent_To_v1beta2_ControllerManager(in *ControlPlaneComponent, out *bootstrapv1.ControllerManager, s apimachineryconversion.Scope) error {
463484
out.ExtraArgs = bootstrapv1.ConvertToArgs(in.ExtraArgs)
464-
out.ExtraEnvs = *(*[]bootstrapv1.EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
485+
if in.ExtraEnvs == nil {
486+
out.ExtraEnvs = nil
487+
} else {
488+
out.ExtraEnvs = (*[]bootstrapv1.EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
489+
}
465490
return convert_v1beta1_ExtraVolumes_To_v1beta2_ExtraVolumes(&in.ExtraVolumes, &out.ExtraVolumes, s)
466491
}
467492

468493
func Convert_v1beta1_ControlPlaneComponent_To_v1beta2_Scheduler(in *ControlPlaneComponent, out *bootstrapv1.Scheduler, s apimachineryconversion.Scope) error {
469494
out.ExtraArgs = bootstrapv1.ConvertToArgs(in.ExtraArgs)
470-
out.ExtraEnvs = *(*[]bootstrapv1.EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
495+
if in.ExtraEnvs == nil {
496+
out.ExtraEnvs = nil
497+
} else {
498+
out.ExtraEnvs = (*[]bootstrapv1.EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
499+
}
471500
return convert_v1beta1_ExtraVolumes_To_v1beta2_ExtraVolumes(&in.ExtraVolumes, &out.ExtraVolumes, s)
472501
}
473502

@@ -501,6 +530,11 @@ func Convert_v1beta1_ClusterConfiguration_To_v1beta2_ClusterConfiguration(in *Cl
501530

502531
func Convert_v1beta1_LocalEtcd_To_v1beta2_LocalEtcd(in *LocalEtcd, out *bootstrapv1.LocalEtcd, s apimachineryconversion.Scope) error {
503532
out.ExtraArgs = bootstrapv1.ConvertToArgs(in.ExtraArgs)
533+
if in.ExtraEnvs == nil {
534+
out.ExtraEnvs = nil
535+
} else {
536+
out.ExtraEnvs = (*[]bootstrapv1.EnvVar)(unsafe.Pointer(&in.ExtraEnvs)) //nolint:gosec // copied over from generated code, fuzzer should detect if we run into issues
537+
}
504538
return autoConvert_v1beta1_LocalEtcd_To_v1beta2_LocalEtcd(in, out, s)
505539
}
506540

api/bootstrap/kubeadm/v1beta1/conversion_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,22 @@ func hubKubeadmConfigSpec(in *bootstrapv1.KubeadmConfigSpec, c randfill.Continue
121121
}
122122
in.JoinConfiguration.Timeouts.ControlPlaneComponentHealthCheckSeconds = initControlPlaneComponentHealthCheckSeconds
123123
}
124+
if in.ClusterConfiguration != nil {
125+
if in.ClusterConfiguration.APIServer.ExtraEnvs != nil && *in.ClusterConfiguration.APIServer.ExtraEnvs == nil {
126+
in.ClusterConfiguration.APIServer.ExtraEnvs = nil
127+
}
128+
if in.ClusterConfiguration.ControllerManager.ExtraEnvs != nil && *in.ClusterConfiguration.ControllerManager.ExtraEnvs == nil {
129+
in.ClusterConfiguration.ControllerManager.ExtraEnvs = nil
130+
}
131+
if in.ClusterConfiguration.Scheduler.ExtraEnvs != nil && *in.ClusterConfiguration.Scheduler.ExtraEnvs == nil {
132+
in.ClusterConfiguration.Scheduler.ExtraEnvs = nil
133+
}
134+
if in.ClusterConfiguration.Etcd.Local != nil {
135+
if in.ClusterConfiguration.Etcd.Local.ExtraEnvs != nil && *in.ClusterConfiguration.Etcd.Local.ExtraEnvs == nil {
136+
in.ClusterConfiguration.Etcd.Local.ExtraEnvs = nil
137+
}
138+
}
139+
}
124140
}
125141

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

api/bootstrap/kubeadm/v1beta1/zz_generated.conversion.go

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

api/bootstrap/kubeadm/v1beta2/kubeadm_types.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ type APIServer struct {
233233
// +listType=atomic
234234
// +kubebuilder:validation:MinItems=1
235235
// +kubebuilder:validation:MaxItems=100
236-
ExtraEnvs []EnvVar `json:"extraEnvs,omitempty"`
236+
ExtraEnvs *[]EnvVar `json:"extraEnvs,omitempty"`
237237

238238
// certSANs sets extra Subject Alternative Names for the API Server signing cert.
239239
// +optional
@@ -274,7 +274,7 @@ type ControllerManager struct {
274274
// +listType=atomic
275275
// +kubebuilder:validation:MinItems=1
276276
// +kubebuilder:validation:MaxItems=100
277-
ExtraEnvs []EnvVar `json:"extraEnvs,omitempty"`
277+
ExtraEnvs *[]EnvVar `json:"extraEnvs,omitempty"`
278278
}
279279

280280
// Scheduler holds settings necessary for scheduler deployments in the cluster.
@@ -306,7 +306,7 @@ type Scheduler struct {
306306
// +listType=atomic
307307
// +kubebuilder:validation:MinItems=1
308308
// +kubebuilder:validation:MaxItems=100
309-
ExtraEnvs []EnvVar `json:"extraEnvs,omitempty"`
309+
ExtraEnvs *[]EnvVar `json:"extraEnvs,omitempty"`
310310
}
311311

312312
// DNS defines the DNS addon that should be used in the cluster.
@@ -507,7 +507,7 @@ type LocalEtcd struct {
507507
// +listType=atomic
508508
// +kubebuilder:validation:MinItems=1
509509
// +kubebuilder:validation:MaxItems=100
510-
ExtraEnvs []EnvVar `json:"extraEnvs,omitempty"`
510+
ExtraEnvs *[]EnvVar `json:"extraEnvs,omitempty"`
511511

512512
// serverCertSANs sets extra Subject Alternative Names for the etcd server signing cert.
513513
// +optional

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

Lines changed: 28 additions & 12 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: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,23 @@ func hubKubeadmConfigSpec(in *bootstrapv1.KubeadmConfigSpec, c randfill.Continue
123123
}
124124
in.JoinConfiguration.Timeouts.ControlPlaneComponentHealthCheckSeconds = initControlPlaneComponentHealthCheckSeconds
125125
}
126+
127+
if in.ClusterConfiguration != nil {
128+
if in.ClusterConfiguration.APIServer.ExtraEnvs != nil && *in.ClusterConfiguration.APIServer.ExtraEnvs == nil {
129+
in.ClusterConfiguration.APIServer.ExtraEnvs = nil
130+
}
131+
if in.ClusterConfiguration.ControllerManager.ExtraEnvs != nil && *in.ClusterConfiguration.ControllerManager.ExtraEnvs == nil {
132+
in.ClusterConfiguration.ControllerManager.ExtraEnvs = nil
133+
}
134+
if in.ClusterConfiguration.Scheduler.ExtraEnvs != nil && *in.ClusterConfiguration.Scheduler.ExtraEnvs == nil {
135+
in.ClusterConfiguration.Scheduler.ExtraEnvs = nil
136+
}
137+
if in.ClusterConfiguration.Etcd.Local != nil {
138+
if in.ClusterConfiguration.Etcd.Local.ExtraEnvs != nil && *in.ClusterConfiguration.Etcd.Local.ExtraEnvs == nil {
139+
in.ClusterConfiguration.Etcd.Local.ExtraEnvs = nil
140+
}
141+
}
142+
}
126143
}
127144

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

0 commit comments

Comments
 (0)