@@ -288,46 +288,29 @@ def _set_auth_headers(self, headers):
288
288
# file one more time in case anything showed up in there.
289
289
if not self ._auth_configs :
290
290
log .debug ("No auth config in memory - loading from filesystem" )
291
- self ._auth_configs = auth .load_config ()
291
+ self ._auth_configs = auth .load_config (
292
+ credsore_env = self .credsore_env
293
+ )
292
294
293
295
# Send the full auth configuration (if any exists), since the build
294
296
# could use any (or all) of the registries.
295
297
if self ._auth_configs :
296
- auth_cfgs = self ._auth_configs
297
- auth_data = {}
298
- if auth_cfgs .get ('credsStore' ):
299
- # Using a credentials store, we need to retrieve the
300
- # credentials for each registry listed in the config.json file
301
- # Matches CLI behavior: https://github.com/docker/docker/blob/
302
- # 67b85f9d26f1b0b2b240f2d794748fac0f45243c/cliconfig/
303
- # credentials/native_store.go#L68-L83
304
- for registry in auth_cfgs .get ('auths' , {}).keys ():
305
- auth_data [registry ] = auth .resolve_authconfig (
306
- auth_cfgs , registry ,
307
- credstore_env = self .credstore_env ,
308
- )
309
- else :
310
- for registry in auth_cfgs .get ('credHelpers' , {}).keys ():
311
- auth_data [registry ] = auth .resolve_authconfig (
312
- auth_cfgs , registry ,
313
- credstore_env = self .credstore_env
314
- )
315
- for registry , creds in auth_cfgs .get ('auths' , {}).items ():
316
- if registry not in auth_data :
317
- auth_data [registry ] = creds
318
- # See https://github.com/docker/docker-py/issues/1683
319
- if auth .INDEX_NAME in auth_data :
320
- auth_data [auth .INDEX_URL ] = auth_data [auth .INDEX_NAME ]
298
+ auth_data = self ._auth_configs .get_all_credentials ()
299
+
300
+ # See https://github.com/docker/docker-py/issues/1683
301
+ if auth .INDEX_URL not in auth_data and auth .INDEX_URL in auth_data :
302
+ auth_data [auth .INDEX_URL ] = auth_data .get (auth .INDEX_NAME , {})
321
303
322
304
log .debug (
323
305
'Sending auth config ({0})' .format (
324
306
', ' .join (repr (k ) for k in auth_data .keys ())
325
307
)
326
308
)
327
309
328
- headers ['X-Registry-Config' ] = auth .encode_header (
329
- auth_data
330
- )
310
+ if auth_data :
311
+ headers ['X-Registry-Config' ] = auth .encode_header (
312
+ auth_data
313
+ )
331
314
else :
332
315
log .debug ('No auth config found' )
333
316
0 commit comments