Skip to content

Commit 81a9a9f

Browse files
authored
feat: Use latest dynamic credential provider and v1 kubelet API (#293)
1 parent 899f715 commit 81a9a9f

6 files changed

+20
-21
lines changed

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ import (
1212
"path"
1313
"text/template"
1414

15-
credentialproviderv1alpha1 "k8s.io/kubelet/pkg/apis/credentialprovider/v1alpha1"
16-
credentialproviderv1beta1 "k8s.io/kubelet/pkg/apis/credentialprovider/v1beta1"
15+
credentialproviderv1 "k8s.io/kubelet/pkg/apis/credentialprovider/v1"
1716
cabpkv1 "sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1"
1817

1918
"github.com/d2iq-labs/capi-runtime-extensions/pkg/handlers/generic/mutation/imageregistries/credentials/credentialprovider"
@@ -151,32 +150,32 @@ func templateDynamicCredentialProviderConfig(
151150
func kubeletCredentialProvider() (providerBinary string, providerArgs []string, providerAPIVersion string) {
152151
return "dynamic-credential-provider",
153152
[]string{"get-credentials", "-c", kubeletDynamicCredentialProviderConfigOnRemote},
154-
credentialproviderv1beta1.SchemeGroupVersion.String()
153+
credentialproviderv1.SchemeGroupVersion.String()
155154
}
156155

157156
func dynamicCredentialProvider(host string) (
158157
providerBinary string, providerArgs []string, providerAPIVersion string, err error,
159158
) {
160159
if matches, err := credentialprovider.URLMatchesECR(host); matches || err != nil {
161160
return "ecr-credential-provider", []string{"get-credentials"},
162-
credentialproviderv1alpha1.SchemeGroupVersion.String(), err
161+
credentialproviderv1.SchemeGroupVersion.String(), err
163162
}
164163

165164
if matches, err := credentialprovider.URLMatchesGCR(host); matches || err != nil {
166165
return "gcr-credential-provider", []string{"get-credentials"},
167-
credentialproviderv1alpha1.SchemeGroupVersion.String(), err
166+
credentialproviderv1.SchemeGroupVersion.String(), err
168167
}
169168

170169
if matches, err := credentialprovider.URLMatchesACR(host); matches || err != nil {
171170
return "acr-credential-provider", []string{
172171
azureCloudConfigFilePath,
173-
}, credentialproviderv1alpha1.SchemeGroupVersion.String(), err
172+
}, credentialproviderv1.SchemeGroupVersion.String(), err
174173
}
175174

176175
// if no supported provider was found, assume we are using the static credential provider
177176
return "static-credential-provider",
178177
[]string{kubeletStaticCredentialProviderCredentialsOnRemote},
179-
credentialproviderv1beta1.SchemeGroupVersion.String(),
178+
credentialproviderv1.SchemeGroupVersion.String(),
180179
nil
181180
}
182181

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func Test_templateKubeletCredentialProviderConfig(t *testing.T) {
2828
Permissions: "0600",
2929
Encoding: "",
3030
Append: false,
31-
Content: `apiVersion: kubelet.config.k8s.io/v1beta1
31+
Content: `apiVersion: kubelet.config.k8s.io/v1
3232
kind: CredentialProviderConfig
3333
providers:
3434
- name: dynamic-credential-provider
@@ -44,7 +44,7 @@ providers:
4444
- "*.*.*.*.*"
4545
- "*.*.*.*.*.*"
4646
defaultCacheDuration: "0s"
47-
apiVersion: credentialprovider.kubelet.k8s.io/v1beta1
47+
apiVersion: credentialprovider.kubelet.k8s.io/v1
4848
`,
4949
},
5050
},
@@ -61,7 +61,7 @@ providers:
6161
Permissions: "0600",
6262
Encoding: "",
6363
Append: false,
64-
Content: `apiVersion: kubelet.config.k8s.io/v1beta1
64+
Content: `apiVersion: kubelet.config.k8s.io/v1
6565
kind: CredentialProviderConfig
6666
providers:
6767
- name: dynamic-credential-provider
@@ -77,7 +77,7 @@ providers:
7777
- "*.*.*.*.*"
7878
- "*.*.*.*.*.*"
7979
defaultCacheDuration: "0s"
80-
apiVersion: credentialprovider.kubelet.k8s.io/v1beta1
80+
apiVersion: credentialprovider.kubelet.k8s.io/v1
8181
`,
8282
},
8383
},
@@ -115,7 +115,7 @@ func Test_templateDynamicCredentialProviderConfig(t *testing.T) {
115115
kind: DynamicCredentialProviderConfig
116116
credentialProviderPluginBinDir: /etc/kubernetes/image-credential-provider/
117117
credentialProviders:
118-
apiVersion: kubelet.config.k8s.io/v1beta1
118+
apiVersion: kubelet.config.k8s.io/v1
119119
kind: CredentialProviderConfig
120120
providers:
121121
- name: ecr-credential-provider
@@ -124,7 +124,7 @@ credentialProviders:
124124
matchImages:
125125
- "123456789.dkr.ecr.us-east-1.amazonaws.com"
126126
defaultCacheDuration: "0s"
127-
apiVersion: credentialprovider.kubelet.k8s.io/v1alpha1
127+
apiVersion: credentialprovider.kubelet.k8s.io/v1
128128
`,
129129
},
130130
},
@@ -145,7 +145,7 @@ credentialProviders:
145145
kind: DynamicCredentialProviderConfig
146146
credentialProviderPluginBinDir: /etc/kubernetes/image-credential-provider/
147147
credentialProviders:
148-
apiVersion: kubelet.config.k8s.io/v1beta1
148+
apiVersion: kubelet.config.k8s.io/v1
149149
kind: CredentialProviderConfig
150150
providers:
151151
- name: static-credential-provider
@@ -154,7 +154,7 @@ credentialProviders:
154154
matchImages:
155155
- "myregistry.com"
156156
defaultCacheDuration: "0s"
157-
apiVersion: credentialprovider.kubelet.k8s.io/v1beta1
157+
apiVersion: credentialprovider.kubelet.k8s.io/v1
158158
`,
159159
},
160160
},
@@ -175,7 +175,7 @@ credentialProviders:
175175
kind: DynamicCredentialProviderConfig
176176
credentialProviderPluginBinDir: /etc/kubernetes/image-credential-provider/
177177
credentialProviders:
178-
apiVersion: kubelet.config.k8s.io/v1beta1
178+
apiVersion: kubelet.config.k8s.io/v1
179179
kind: CredentialProviderConfig
180180
providers:
181181
- name: static-credential-provider
@@ -185,7 +185,7 @@ credentialProviders:
185185
- "registry-1.docker.io"
186186
- "docker.io"
187187
defaultCacheDuration: "0s"
188-
apiVersion: credentialprovider.kubelet.k8s.io/v1beta1
188+
apiVersion: credentialprovider.kubelet.k8s.io/v1
189189
`,
190190
},
191191
},

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const (
1919
installKubeletCredentialProvidersScriptOnRemoteCommand = "/bin/bash " + installKubeletCredentialProvidersScriptOnRemote
2020

2121
//nolint:gosec // Does not contain hard coded credentials.
22-
dynamicCredentialProviderImage = "ghcr.io/mesosphere/dynamic-credential-provider:v0.2.0"
22+
dynamicCredentialProviderImage = "ghcr.io/mesosphere/dynamic-credential-provider:v0.5.0"
2323

2424
//nolint:gosec // Does not contain hard coded credentials.
2525
credentialProviderTargetDir = "/etc/kubernetes/image-credential-provider/"

pkg/handlers/generic/mutation/imageregistries/credentials/templates/dynamic-credential-provider-config.yaml.gotmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: credentialprovider.d2iq.com/v1alpha1
22
kind: DynamicCredentialProviderConfig
33
credentialProviderPluginBinDir: /etc/kubernetes/image-credential-provider/
44
credentialProviders:
5-
apiVersion: kubelet.config.k8s.io/v1beta1
5+
apiVersion: kubelet.config.k8s.io/v1
66
kind: CredentialProviderConfig
77
providers:
88
- name: {{ .ProviderBinary }}

pkg/handlers/generic/mutation/imageregistries/credentials/templates/kubelet-image-credential-provider-config.yaml.gotmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
apiVersion: kubelet.config.k8s.io/v1beta1
1+
apiVersion: kubelet.config.k8s.io/v1
22
kind: CredentialProviderConfig
33
providers:
44
- name: {{ .ProviderBinary }}

pkg/handlers/generic/mutation/imageregistries/credentials/templates/static-credential-provider.json.gotmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"kind":"CredentialProviderResponse",
3-
"apiVersion":"credentialprovider.kubelet.k8s.io/v1beta1",
3+
"apiVersion":"credentialprovider.kubelet.k8s.io/v1",
44
"cacheKeyType":"Image",
55
"cacheDuration":"0s",
66
"auth":{

0 commit comments

Comments
 (0)