Skip to content

Commit 85a73d5

Browse files
committed
fix: set kubeletExtraArgs
1 parent 3bfcb01 commit 85a73d5

File tree

4 files changed

+107
-0
lines changed

4 files changed

+107
-0
lines changed

common/pkg/testutils/capitest/request/items.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ func NewKubeadmConfigTemplateRequestItem(uid types.UID) runtimehooksv1.GenerateP
5858
Template: bootstrapv1.KubeadmConfigTemplateResource{
5959
Spec: bootstrapv1.KubeadmConfigSpec{
6060
PostKubeadmCommands: []string{"initial-post-kubeadm"},
61+
JoinConfiguration: &bootstrapv1.JoinConfiguration{
62+
NodeRegistration: bootstrapv1.NodeRegistrationOptions{},
63+
},
6164
},
6265
},
6366
},
@@ -83,6 +86,20 @@ func NewKubeadmControlPlaneTemplateRequestItem(
8386
Name: KubeadmControlPlaneTemplateRequestObjectName,
8487
Namespace: Namespace,
8588
},
89+
Spec: controlplanev1.KubeadmControlPlaneTemplateSpec{
90+
Template: controlplanev1.KubeadmControlPlaneTemplateResource{
91+
Spec: controlplanev1.KubeadmControlPlaneTemplateResourceSpec{
92+
KubeadmConfigSpec: bootstrapv1.KubeadmConfigSpec{
93+
InitConfiguration: &bootstrapv1.InitConfiguration{
94+
NodeRegistration: bootstrapv1.NodeRegistrationOptions{},
95+
},
96+
JoinConfiguration: &bootstrapv1.JoinConfiguration{
97+
NodeRegistration: bootstrapv1.NodeRegistrationOptions{},
98+
},
99+
},
100+
},
101+
},
102+
},
86103
},
87104
&runtimehooksv1.HolderReference{
88105
Kind: "Cluster",
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Copyright 2023 D2iQ, Inc. All rights reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package credentials
5+
6+
const ()
7+
8+
func addImageCredentialProviderArgs(args map[string]string) {
9+
args["image-credential-provider-bin-dir"] = credentialProviderTargetDir
10+
args["image-credential-provider-config"] = kubeletImageCredentialProviderConfigOnRemote
11+
}

pkg/handlers/generic/mutation/imageregistries/credentials/inject.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,27 @@ func (h *imageRegistriesPatchHandler) Mutate(
161161
return generateErr
162162
}
163163

164+
initConfiguration := obj.Spec.Template.Spec.KubeadmConfigSpec.InitConfiguration
165+
if initConfiguration == nil {
166+
initConfiguration = &cabpkv1.InitConfiguration{}
167+
}
168+
obj.Spec.Template.Spec.KubeadmConfigSpec.InitConfiguration = initConfiguration
169+
if initConfiguration.NodeRegistration.KubeletExtraArgs == nil {
170+
initConfiguration.NodeRegistration.KubeletExtraArgs = map[string]string{}
171+
}
172+
addImageCredentialProviderArgs(initConfiguration.NodeRegistration.KubeletExtraArgs)
173+
174+
joinConfiguration := obj.Spec.Template.Spec.KubeadmConfigSpec.JoinConfiguration
175+
if joinConfiguration == nil {
176+
joinConfiguration = &cabpkv1.JoinConfiguration{}
177+
}
178+
obj.Spec.Template.Spec.KubeadmConfigSpec.JoinConfiguration = joinConfiguration
179+
if joinConfiguration.NodeRegistration.KubeletExtraArgs == nil {
180+
joinConfiguration.NodeRegistration.KubeletExtraArgs = map[string]string{}
181+
}
182+
addImageCredentialProviderArgs(joinConfiguration.NodeRegistration.KubeletExtraArgs)
183+
184+
fmt.Printf("%v", joinConfiguration)
164185
return nil
165186
}); err != nil {
166187
return err
@@ -196,6 +217,16 @@ func (h *imageRegistriesPatchHandler) Mutate(
196217
return generateErr
197218
}
198219

220+
joinConfiguration := obj.Spec.Template.Spec.JoinConfiguration
221+
if joinConfiguration == nil {
222+
joinConfiguration = &cabpkv1.JoinConfiguration{}
223+
}
224+
obj.Spec.Template.Spec.JoinConfiguration = joinConfiguration
225+
if joinConfiguration.NodeRegistration.KubeletExtraArgs == nil {
226+
joinConfiguration.NodeRegistration.KubeletExtraArgs = map[string]string{}
227+
}
228+
addImageCredentialProviderArgs(joinConfiguration.NodeRegistration.KubeletExtraArgs)
229+
199230
return nil
200231
}); err != nil {
201232
return err

pkg/handlers/generic/mutation/imageregistries/credentials/inject_test.go

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,22 @@ func TestGeneratePatches(t *testing.T) {
6666
Path: "/spec/template/spec/kubeadmConfigSpec/preKubeadmCommands",
6767
ValueMatcher: gomega.HaveLen(1),
6868
},
69+
{
70+
Operation: "add",
71+
Path: "/spec/template/spec/kubeadmConfigSpec/initConfiguration/nodeRegistration/kubeletExtraArgs",
72+
ValueMatcher: gomega.HaveKeyWithValue(
73+
"image-credential-provider-bin-dir",
74+
"/etc/kubernetes/image-credential-provider/",
75+
),
76+
},
77+
{
78+
Operation: "add",
79+
Path: "/spec/template/spec/kubeadmConfigSpec/joinConfiguration/nodeRegistration/kubeletExtraArgs",
80+
ValueMatcher: gomega.HaveKeyWithValue(
81+
"image-credential-provider-config",
82+
"/etc/kubernetes/image-credential-provider-config.yaml",
83+
),
84+
},
6985
},
7086
},
7187
capitest.PatchTestDef{
@@ -95,6 +111,22 @@ func TestGeneratePatches(t *testing.T) {
95111
Path: "/spec/template/spec/kubeadmConfigSpec/preKubeadmCommands",
96112
ValueMatcher: gomega.HaveLen(1),
97113
},
114+
{
115+
Operation: "add",
116+
Path: "/spec/template/spec/kubeadmConfigSpec/initConfiguration/nodeRegistration/kubeletExtraArgs",
117+
ValueMatcher: gomega.HaveKeyWithValue(
118+
"image-credential-provider-bin-dir",
119+
"/etc/kubernetes/image-credential-provider/",
120+
),
121+
},
122+
{
123+
Operation: "add",
124+
Path: "/spec/template/spec/kubeadmConfigSpec/joinConfiguration/nodeRegistration/kubeletExtraArgs",
125+
ValueMatcher: gomega.HaveKeyWithValue(
126+
"image-credential-provider-config",
127+
"/etc/kubernetes/image-credential-provider-config.yaml",
128+
),
129+
},
98130
},
99131
},
100132
capitest.PatchTestDef{
@@ -129,6 +161,14 @@ func TestGeneratePatches(t *testing.T) {
129161
Path: "/spec/template/spec/preKubeadmCommands",
130162
ValueMatcher: gomega.HaveLen(1),
131163
},
164+
{
165+
Operation: "add",
166+
Path: "/spec/template/spec/joinConfiguration/nodeRegistration/kubeletExtraArgs",
167+
ValueMatcher: gomega.HaveKeyWithValue(
168+
"image-credential-provider-bin-dir",
169+
"/etc/kubernetes/image-credential-provider/",
170+
),
171+
},
132172
},
133173
},
134174
capitest.PatchTestDef{
@@ -166,6 +206,14 @@ func TestGeneratePatches(t *testing.T) {
166206
Path: "/spec/template/spec/preKubeadmCommands",
167207
ValueMatcher: gomega.HaveLen(1),
168208
},
209+
{
210+
Operation: "add",
211+
Path: "/spec/template/spec/joinConfiguration/nodeRegistration/kubeletExtraArgs",
212+
ValueMatcher: gomega.HaveKeyWithValue(
213+
"image-credential-provider-bin-dir",
214+
"/etc/kubernetes/image-credential-provider/",
215+
),
216+
},
169217
},
170218
},
171219
capitest.PatchTestDef{

0 commit comments

Comments
 (0)