From 530930465d737ce33e1b9525e97be7f477329958 Mon Sep 17 00:00:00 2001 From: Erik Kristensen Date: Tue, 10 Jan 2023 20:58:43 -0700 Subject: [PATCH] fix: aws credential chain by using aws.Config --- s3/replica_client.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/s3/replica_client.go b/s3/replica_client.go index 6940789..5d2d2f6 100644 --- a/s3/replica_client.go +++ b/s3/replica_client.go @@ -18,7 +18,6 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/defaults" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" "github.com/aws/aws-sdk-go/service/s3/s3manager" @@ -95,6 +94,8 @@ func (c *ReplicaClient) Init(ctx context.Context) (err error) { if region != "" { config.Region = aws.String(region) } + config.CredentialsChainVerboseErrors = aws.Bool(true) + sess, err := session.NewSession(config) if err != nil { return fmt.Errorf("cannot create aws session: %w", err) @@ -107,7 +108,8 @@ func (c *ReplicaClient) Init(ctx context.Context) (err error) { // config returns the AWS configuration. Uses the default credential chain // unless a key/secret are explicitly set. func (c *ReplicaClient) config() *aws.Config { - config := defaults.Get().Config + config := &aws.Config{} + if c.AccessKeyID != "" || c.SecretAccessKey != "" { config.Credentials = credentials.NewStaticCredentials(c.AccessKeyID, c.SecretAccessKey, "") }