diff --git a/pkg/credentials/provider/ecsmetadata_provider.go b/pkg/credentials/provider/ecsmetadata_provider.go index ade2f7cd..4803b4e6 100644 --- a/pkg/credentials/provider/ecsmetadata_provider.go +++ b/pkg/credentials/provider/ecsmetadata_provider.go @@ -39,6 +39,7 @@ type ECSMetadataProviderOptions struct { ExpiryWindow time.Duration RefreshPeriod time.Duration + Logger Logger } func NewECSMetadataProvider(opts ECSMetadataProviderOptions) *ECSMetadataProvider { @@ -57,6 +58,7 @@ func NewECSMetadataProvider(opts ECSMetadataProviderOptions) *ECSMetadataProvide e.u = NewUpdater(e.getCredentials, UpdaterOptions{ ExpiryWindow: opts.ExpiryWindow, RefreshPeriod: opts.RefreshPeriod, + Logger: opts.Logger, }) e.u.Start(context.TODO()) @@ -211,6 +213,9 @@ func (o *ECSMetadataProviderOptions) applyDefaults() { if o.ExpiryWindow == 0 { o.ExpiryWindow = defaultExpiryWindow } + if o.Logger == nil { + o.Logger = defaultLog + } } func (e metadataError) Error() string { diff --git a/pkg/credentials/provider/encryptedfile_provider.go b/pkg/credentials/provider/encryptedfile_provider.go index 98922135..a496507b 100644 --- a/pkg/credentials/provider/encryptedfile_provider.go +++ b/pkg/credentials/provider/encryptedfile_provider.go @@ -19,6 +19,7 @@ type EncryptedFileProviderOptions struct { FilePath string RefreshPeriod time.Duration ExpiryWindow time.Duration + Logger Logger } func NewEncryptedFileProvider(opts EncryptedFileProviderOptions) *EncryptedFileProvider { @@ -28,6 +29,7 @@ func NewEncryptedFileProvider(opts EncryptedFileProviderOptions) *EncryptedFileP e.f = NewFileProvider(opts.FilePath, parseEncryptedToken, FileProviderOptions{ RefreshPeriod: opts.RefreshPeriod, ExpiryWindow: opts.ExpiryWindow, + Logger: opts.Logger, }) return e @@ -44,6 +46,9 @@ func (o *EncryptedFileProviderOptions) applyDefaults() { if o.FilePath == "" { o.FilePath = defaultEncryptedFilePath } + if o.Logger == nil { + o.Logger = defaultLog + } } func parseEncryptedToken(data []byte) (*Credentials, error) { diff --git a/pkg/credentials/provider/file_provider.go b/pkg/credentials/provider/file_provider.go index bfb36f2d..40b1dde4 100644 --- a/pkg/credentials/provider/file_provider.go +++ b/pkg/credentials/provider/file_provider.go @@ -17,9 +17,12 @@ type FileProvider struct { type FileProviderOptions struct { RefreshPeriod time.Duration ExpiryWindow time.Duration + Logger Logger } func NewFileProvider(filepath string, decoder func(data []byte) (*Credentials, error), opts FileProviderOptions) *FileProvider { + opts.applyDefaults() + e := &FileProvider{ filepath: filepath, decoder: decoder, @@ -27,6 +30,7 @@ func NewFileProvider(filepath string, decoder func(data []byte) (*Credentials, e e.u = NewUpdater(e.getCredentials, UpdaterOptions{ ExpiryWindow: opts.ExpiryWindow, RefreshPeriod: opts.RefreshPeriod, + Logger: opts.Logger, }) e.u.Start(context.TODO()) @@ -52,3 +56,12 @@ func (f *FileProvider) getCredentials(ctx context.Context) (*Credentials, error) } return cred, nil } + +func (f *FileProviderOptions) applyDefaults() { + if f.ExpiryWindow == 0 { + f.ExpiryWindow = defaultExpiryWindow + } + if f.Logger == nil { + f.Logger = defaultLog + } +} diff --git a/pkg/credentials/provider/oidc_provider.go b/pkg/credentials/provider/oidc_provider.go index 9a1caf29..7fcb6b0d 100644 --- a/pkg/credentials/provider/oidc_provider.go +++ b/pkg/credentials/provider/oidc_provider.go @@ -49,6 +49,7 @@ type OIDCProviderOptions struct { ExpiryWindow time.Duration RefreshPeriod time.Duration + Logger Logger } func NewOIDCProvider(opts OIDCProviderOptions) *OIDCProvider { @@ -70,6 +71,7 @@ func NewOIDCProvider(opts OIDCProviderOptions) *OIDCProvider { e.u = NewUpdater(e.getCredentials, UpdaterOptions{ ExpiryWindow: opts.ExpiryWindow, RefreshPeriod: opts.RefreshPeriod, + Logger: opts.Logger, }) e.u.Start(context.TODO()) @@ -209,4 +211,7 @@ func (o *OIDCProviderOptions) applyDefaults() { if o.EnvOIDCTokenFile == "" { o.EnvOIDCTokenFile = defaultEnvOIDCTokenFile } + if o.Logger == nil { + o.Logger = defaultLog + } } diff --git a/pkg/credentials/provider/updater.go b/pkg/credentials/provider/updater.go index 972995bc..d0bc0f3e 100644 --- a/pkg/credentials/provider/updater.go +++ b/pkg/credentials/provider/updater.go @@ -28,6 +28,7 @@ type Updater struct { type UpdaterOptions struct { ExpiryWindow time.Duration RefreshPeriod time.Duration + Logger Logger } func NewUpdater(getter getCredentialsFunc, opts UpdaterOptions) *Updater { @@ -38,6 +39,7 @@ func NewUpdater(getter getCredentialsFunc, opts UpdaterOptions) *Updater { getCredentials: getter, cred: nil, lockForCred: sync.RWMutex{}, + Logger: opts.Logger, } return u }