@@ -11,15 +11,19 @@ import (
1111)
1212
1313type DefaultAuthProvider struct {
14- authConfigs map [string ]* registry.AuthConfig
14+ authConfigs map [string ]registry.AuthConfig
1515 config * ProviderConfig
1616}
1717
18+ func (d * DefaultAuthProvider ) AuthConfigs () map [string ]registry.AuthConfig {
19+ return d .authConfigs
20+ }
21+
1822func (d * DefaultAuthProvider ) AuthConfig (ref reference.Named ) registry.AuthConfig {
1923 domain := reference .Domain (ref )
2024 if ac , ok := d .authConfigs [domain ]; ok {
2125 d .config .Logger .Debugf ("using auth config for %s" , domain )
22- return * ac
26+ return ac
2327 }
2428 d .config .Logger .Debugf ("no auth config for %s" , domain )
2529 return registry.AuthConfig {}
@@ -28,7 +32,7 @@ func (d *DefaultAuthProvider) AuthConfig(ref reference.Named) registry.AuthConfi
2832func NewDefaultProvider (opts ... Opt ) (* DefaultAuthProvider , error ) {
2933 config := renderConfig (opts )
3034
31- authConfigs := map [string ]* registry.AuthConfig {}
35+ authConfigs := map [string ]registry.AuthConfig {}
3236
3337 cfg , err := dockercfg .LoadDefaultConfig ()
3438 if err != nil && ! errors .Is (err , os .ErrNotExist ) {
@@ -39,7 +43,7 @@ func NewDefaultProvider(opts ...Opt) (*DefaultAuthProvider, error) {
3943 }
4044
4145 for k , v := range cfg .AuthConfigs {
42- ac := & registry.AuthConfig {
46+ ac := registry.AuthConfig {
4347 Username : v .Username ,
4448 Password : v .Password ,
4549 Email : v .Email ,
@@ -49,7 +53,7 @@ func NewDefaultProvider(opts ...Opt) (*DefaultAuthProvider, error) {
4953 ServerAddress : v .ServerAddress ,
5054 }
5155 if ac .Username == "" && ac .Password == "" {
52- err := getCredentials (k , & cfg , ac )
56+ err := getCredentials (k , & cfg , & ac )
5357 if err != nil {
5458 config .Logger .Errorf ("failed to get credentials for registry %s: %v" , k , err )
5559 continue
@@ -62,10 +66,12 @@ func NewDefaultProvider(opts ...Opt) (*DefaultAuthProvider, error) {
6266 }
6367
6468 for k := range cfg .CredentialHelpers {
65- err := getCredentials (k , & cfg , authConfigs [k ])
69+ ac := authConfigs [k ]
70+ err := getCredentials (k , & cfg , & ac )
6671 if err != nil {
6772 config .Logger .Errorf ("failed to get credentials for registry %s: %v" , k , err )
6873 }
74+ authConfigs [k ] = ac
6975 }
7076 return & DefaultAuthProvider {authConfigs , config }, nil
7177}
0 commit comments