@@ -58,8 +58,8 @@ func dockerLogout(t *testing.T, domain string) {
58
58
dockerLogin (t , domain , "" , "" )
59
59
}
60
60
61
- func NewMoveRequest (chartPath , hints , target , targetRegistry , targetPrefix string ) * mover.ChartMoveRequest {
62
- return & mover.ChartMoveRequest {
61
+ func NewMoveRequest (chartPath , hints , target , targetRegistry , targetPrefix string , useLocalKeychain bool ) * mover.ChartMoveRequest {
62
+ req := & mover.ChartMoveRequest {
63
63
Source : mover.Source {
64
64
// The Helm Chart can be provided in either tarball or directory form
65
65
Chart : mover.ChartSpec {Local : & mover.LocalChart {Path : chartPath }},
@@ -76,6 +76,13 @@ func NewMoveRequest(chartPath, hints, target, targetRegistry, targetPrefix strin
76
76
},
77
77
},
78
78
}
79
+
80
+ if useLocalKeychain {
81
+ req .Source .Containers = mover.Containers {UseDefaultLocalKeychain : true }
82
+ req .Target .Containers = mover.Containers {UseDefaultLocalKeychain : true }
83
+ }
84
+
85
+ return req
79
86
}
80
87
81
88
func NewSaveRequest (chartPath , hints , bundle string ) * mover.ChartMoveRequest {
@@ -85,6 +92,7 @@ func NewSaveRequest(chartPath, hints, bundle string) *mover.ChartMoveRequest {
85
92
Chart : mover.ChartSpec {Local : & mover.LocalChart {Path : chartPath }},
86
93
// path to file containing rules such as // {{.image.registry}}:{{.image.tag}}
87
94
ImageHintsFile : hints ,
95
+ Containers : mover.Containers {UseDefaultLocalKeychain : true },
88
96
},
89
97
Target : mover.Target {
90
98
Chart : mover.ChartSpec {IntermediateBundle : & mover.IntermediateBundle {Path : bundle }},
@@ -99,7 +107,8 @@ func NewLoadRequest(bundle, target, targetRegistry, targetPrefix string) *mover.
99
107
Chart : mover.ChartSpec {IntermediateBundle : & mover.IntermediateBundle {Path : bundle }},
100
108
},
101
109
Target : mover.Target {
102
- Chart : mover.ChartSpec {Local : & mover.LocalChart {Path : target }},
110
+ Chart : mover.ChartSpec {Local : & mover.LocalChart {Path : target }},
111
+ Containers : mover.Containers {UseDefaultLocalKeychain : true },
103
112
// Where to push and how to rewrite the found images
104
113
// i.e docker.io/bitnami/mariadb => myregistry.com/myteam/mariadb
105
114
Rules : mover.RewriteRules {
@@ -144,7 +153,7 @@ func TestRegistryDockerCredentials(t *testing.T) {
144
153
params := loadParamsFromEnv ()
145
154
prepareDockerCA (t , params .certFile )
146
155
dockerLogin (t , params .domain , params .user , params .passwd )
147
- got := relok8s (t , NewMoveRequest (TestChart , Hints , Target , params .domain , Prefix ))
156
+ got := relok8s (t , NewMoveRequest (TestChart , Hints , Target , params .domain , Prefix , true ))
148
157
var want error
149
158
if got != want {
150
159
t .Fatalf ("want error %v got %v" , want , got )
@@ -156,7 +165,7 @@ func TestRegistryCustomCredentials(t *testing.T) {
156
165
params := loadParamsFromEnv ()
157
166
prepareDockerCA (t , params .certFile )
158
167
dockerLogout (t , params .domain )
159
- req := NewMoveRequest (TestChart , Hints , Target , params .domain , Prefix )
168
+ req := NewMoveRequest (TestChart , Hints , Target , params .domain , Prefix , false )
160
169
req .Target .Containers .ContainerRepository = repo (params .domain , params .user , params .passwd )
161
170
got := relok8s (t , req )
162
171
var want error
@@ -170,7 +179,7 @@ func TestRegistryBadDockerCredentials(t *testing.T) {
170
179
params := loadParamsFromEnv ()
171
180
prepareDockerCA (t , params .certFile )
172
181
dockerLogin (t , params .domain , BadUser , BadPasswd )
173
- got := relok8s (t , NewMoveRequest (TestChart , Hints , Target , params .domain , Prefix ))
182
+ got := relok8s (t , NewMoveRequest (TestChart , Hints , Target , params .domain , Prefix , true ))
174
183
// retry.Error is incompatible with errors package, it cannot be unwrapped
175
184
_ , ok := got .(retry.Error )
176
185
if ! ok {
@@ -183,7 +192,7 @@ func TestRegistryBadCustomCredentials(t *testing.T) {
183
192
params := loadParamsFromEnv ()
184
193
prepareDockerCA (t , params .certFile )
185
194
dockerLogout (t , params .domain )
186
- req := NewMoveRequest (TestChart , Hints , Target , params .domain , Prefix )
195
+ req := NewMoveRequest (TestChart , Hints , Target , params .domain , Prefix , false )
187
196
req .Target .Containers .ContainerRepository = repo (params .domain , BadUser , BadPasswd )
188
197
got := relok8s (t , req )
189
198
// retry.Error is incompatible with errors package, it cannot be unwrapped
@@ -198,7 +207,7 @@ func TestMovePerformance(t *testing.T) {
198
207
params := loadParamsFromEnv ()
199
208
prepareDockerCA (t , params .certFile )
200
209
dockerLogin (t , params .domain , params .user , params .passwd )
201
- got := relok8s (t , NewMoveRequest (ComplexChart , ComplexHints , Target , params .domain , Prefix ))
210
+ got := relok8s (t , NewMoveRequest (ComplexChart , ComplexHints , Target , params .domain , Prefix , true ))
202
211
var want error
203
212
if got != want {
204
213
t .Fatalf ("want error %v got %v" , want , got )
0 commit comments