@@ -15,12 +15,16 @@ func Test_templateKubeletCredentialProviderConfig(t *testing.T) {
15
15
t .Parallel ()
16
16
17
17
tests := []struct {
18
- name string
19
- want * cabpkv1.File
20
- wantErr error
18
+ name string
19
+ credentials []providerConfig
20
+ want * cabpkv1.File
21
+ wantErr error
21
22
}{
22
23
{
23
24
name : "ECR image registry" ,
25
+ credentials : []providerConfig {
26
+ {URL : "https://123456789.dkr.ecr.us-east-1.amazonaws.com" },
27
+ },
24
28
want : & cabpkv1.File {
25
29
Path : "/etc/kubernetes/image-credential-provider-config.yaml" ,
26
30
Owner : "" ,
@@ -36,6 +40,7 @@ providers:
36
40
- -c
37
41
- /etc/kubernetes/dynamic-credential-provider-config.yaml
38
42
matchImages:
43
+ - "123456789.dkr.ecr.us-east-1.amazonaws.com"
39
44
- "*"
40
45
- "*.*"
41
46
- "*.*.*"
@@ -49,6 +54,45 @@ providers:
49
54
},
50
55
{
51
56
name : "image registry with static config" ,
57
+ credentials : []providerConfig {{
58
+ URL : "https://myregistry.com:5000/myproject" ,
59
+ Username : "myuser" ,
60
+ Password : "mypassword" ,
61
+ }},
62
+ want : & cabpkv1.File {
63
+ Path : "/etc/kubernetes/image-credential-provider-config.yaml" ,
64
+ Owner : "" ,
65
+ Permissions : "0600" ,
66
+ Encoding : "" ,
67
+ Append : false ,
68
+ Content : `apiVersion: kubelet.config.k8s.io/v1
69
+ kind: CredentialProviderConfig
70
+ providers:
71
+ - name: dynamic-credential-provider
72
+ args:
73
+ - get-credentials
74
+ - -c
75
+ - /etc/kubernetes/dynamic-credential-provider-config.yaml
76
+ matchImages:
77
+ - "myregistry.com:5000/myproject"
78
+ - "*"
79
+ - "*.*"
80
+ - "*.*.*"
81
+ - "*.*.*.*"
82
+ - "*.*.*.*.*"
83
+ - "*.*.*.*.*.*"
84
+ defaultCacheDuration: "0s"
85
+ apiVersion: credentialprovider.kubelet.k8s.io/v1
86
+ ` ,
87
+ },
88
+ },
89
+ {
90
+ name : "docker.io registry with static credentials" ,
91
+ credentials : []providerConfig {{
92
+ URL : "https://registry-1.docker.io" ,
93
+ Username : "myuser" ,
94
+ Password : "mypassword" ,
95
+ }},
52
96
want : & cabpkv1.File {
53
97
Path : "/etc/kubernetes/image-credential-provider-config.yaml" ,
54
98
Owner : "" ,
@@ -64,6 +108,8 @@ providers:
64
108
- -c
65
109
- /etc/kubernetes/dynamic-credential-provider-config.yaml
66
110
matchImages:
111
+ - "registry-1.docker.io"
112
+ - "docker.io"
67
113
- "*"
68
114
- "*.*"
69
115
- "*.*.*"
@@ -80,7 +126,7 @@ providers:
80
126
tt := tests [idx ]
81
127
t .Run (tt .name , func (t * testing.T ) {
82
128
t .Parallel ()
83
- file , err := templateKubeletCredentialProviderConfig ()
129
+ file , err := templateKubeletCredentialProviderConfig (tt . credentials )
84
130
require .ErrorIs (t , err , tt .wantErr )
85
131
assert .Equal (t , tt .want , file )
86
132
})
@@ -127,7 +173,7 @@ credentialProviders:
127
173
{
128
174
name : "image registry with static credentials" ,
129
175
credentials : []providerConfig {{
130
- URL : "https://myregistry.com" ,
176
+ URL : "https://myregistry.com:5000/myproject " ,
131
177
Username : "myuser" ,
132
178
Password : "mypassword" ,
133
179
}},
@@ -148,7 +194,7 @@ credentialProviders:
148
194
args:
149
195
- /etc/kubernetes/static-image-credentials.json
150
196
matchImages:
151
- - "myregistry.com"
197
+ - "myregistry.com:5000/myproject "
152
198
defaultCacheDuration: "0s"
153
199
apiVersion: credentialprovider.kubelet.k8s.io/v1
154
200
` ,
0 commit comments