Skip to content

Commit 36e98ff

Browse files
atorkhovdefbin
authored andcommitted
Use RemoteCredsProvider from aws default stack
This change allows to retrieve credentials from ECS and EKS roles.
1 parent d556a6d commit 36e98ff

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

pbm/storage/s3/s3.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@ import (
1818
"github.com/aws/aws-sdk-go/aws/awserr"
1919
"github.com/aws/aws-sdk-go/aws/client"
2020
"github.com/aws/aws-sdk-go/aws/credentials"
21-
"github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds"
2221
"github.com/aws/aws-sdk-go/aws/credentials/stscreds"
23-
"github.com/aws/aws-sdk-go/aws/ec2metadata"
22+
"github.com/aws/aws-sdk-go/aws/defaults"
2423
"github.com/aws/aws-sdk-go/aws/request"
2524
"github.com/aws/aws-sdk-go/aws/session"
2625
"github.com/aws/aws-sdk-go/service/s3"
@@ -574,10 +573,6 @@ func (s *S3) session() (*session.Session, error) {
574573
))
575574
}
576575

577-
providers = append(providers, &ec2rolecreds.EC2RoleProvider{
578-
Client: ec2metadata.New(awsSession),
579-
})
580-
581576
httpClient := &http.Client{}
582577
if s.opts.InsecureSkipTLSVerify {
583578
httpClient = &http.Client{
@@ -587,15 +582,21 @@ func (s *S3) session() (*session.Session, error) {
587582
}
588583
}
589584

590-
return session.NewSession(&aws.Config{
585+
cfg := &aws.Config{
591586
Region: aws.String(s.opts.Region),
592587
Endpoint: aws.String(s.opts.EndpointURL),
593-
Credentials: credentials.NewChainCredentials(providers),
594588
S3ForcePathStyle: s.opts.ForcePathStyle,
595589
HTTPClient: httpClient,
596590
LogLevel: aws.LogLevel(SDKLogLevel(s.opts.DebugLogLevels, nil)),
597591
Logger: awsLogger(s.log),
598-
})
592+
}
593+
594+
// fetch credentials from remote endpoints like EC2 or ECS roles
595+
providers = append(providers, defaults.RemoteCredProvider(*cfg, defaults.Handlers()))
596+
597+
cfg.Credentials = credentials.NewChainCredentials(providers)
598+
599+
return session.NewSession(cfg)
599600
}
600601

601602
func awsLogger(l log.LogEvent) aws.Logger {

0 commit comments

Comments
 (0)