@@ -7,34 +7,35 @@ import (
77 "github.com/cpuguy83/dockercfg"
88 "github.com/distribution/reference"
99 "github.com/docker/docker/api/types/registry"
10- "log"
1110 "os"
1211)
1312
1413type DefaultAuthProvider struct {
1514 authConfigs map [string ]* registry.AuthConfig
15+ config * ProviderConfig
1616}
1717
1818func (d * DefaultAuthProvider ) AuthConfig (ref reference.Named ) registry.AuthConfig {
1919 domain := reference .Domain (ref )
2020 if ac , ok := d .authConfigs [domain ]; ok {
21- log . Printf ("using auth config for %s" , domain )
21+ d . config . Logger . Debugf ("using auth config for %s" , domain )
2222 return * ac
2323 }
24- log . Printf ("no auth config for %s" , domain )
24+ d . config . Logger . Debugf ("no auth config for %s" , domain )
2525 return registry.AuthConfig {}
2626}
2727
28- func NewDefaultProvider () (* DefaultAuthProvider , error ) {
28+ func NewDefaultProvider (opts ... Opt ) (* DefaultAuthProvider , error ) {
29+ config := renderConfig (opts )
30+
2931 authConfigs := map [string ]* registry.AuthConfig {}
3032
3133 cfg , err := dockercfg .LoadDefaultConfig ()
3234 if err != nil && ! errors .Is (err , os .ErrNotExist ) {
33- log . Printf ("failed to load docker config: %v" , err )
35+ config . Logger . Errorf ("failed to load docker config: %v" , err )
3436 return nil , err
3537 } else if errors .Is (err , os .ErrNotExist ) {
36- log .Printf ("docker config not found, using empty config" )
37- return & DefaultAuthProvider {authConfigs }, nil
38+ return & DefaultAuthProvider {authConfigs , config }, nil
3839 }
3940
4041 for k , v := range cfg .AuthConfigs {
@@ -50,7 +51,7 @@ func NewDefaultProvider() (*DefaultAuthProvider, error) {
5051 if ac .Username == "" && ac .Password == "" {
5152 err := getCredentials (k , & cfg , ac )
5253 if err != nil {
53- log . Printf ("failed to get credentials for registry %s: %v" , k , err )
54+ config . Logger . Errorf ("failed to get credentials for registry %s: %v" , k , err )
5455 continue
5556 }
5657 }
@@ -63,10 +64,10 @@ func NewDefaultProvider() (*DefaultAuthProvider, error) {
6364 for k := range cfg .CredentialHelpers {
6465 err := getCredentials (k , & cfg , authConfigs [k ])
6566 if err != nil {
66- log . Printf ("failed to get credentials for registry %s: %v" , k , err )
67+ config . Logger . Errorf ("failed to get credentials for registry %s: %v" , k , err )
6768 }
6869 }
69- return & DefaultAuthProvider {authConfigs }, nil
70+ return & DefaultAuthProvider {authConfigs , config }, nil
7071}
7172
7273func getCredentials (registryHost string , cfg * dockercfg.Config , ac * registry.AuthConfig ) error {
0 commit comments