@@ -17,6 +17,7 @@ import (
17
17
"github.com/aws/aws-sdk-go-v2/aws"
18
18
"github.com/aws/aws-sdk-go-v2/config"
19
19
"github.com/aws/aws-sdk-go-v2/credentials"
20
+ "github.com/aws/aws-sdk-go-v2/credentials/stscreds"
20
21
"github.com/aws/aws-sdk-go-v2/service/ecr"
21
22
"github.com/aws/aws-sdk-go-v2/service/sts"
22
23
"github.com/google/go-containerregistry/pkg/authn"
@@ -405,18 +406,17 @@ func (source *Source) AuthenticateToECR() bool {
405
406
for _ , roleArn := range awsRoleArns {
406
407
logrus .Debugf ("assuming role: %s" , roleArn )
407
408
stsClient := sts .NewFromConfig (awsConfig )
408
- result , err := stsClient .AssumeRole (context .TODO (), & sts.AssumeRoleInput {
409
- RoleArn : aws .String (roleArn ),
410
- })
409
+ roleCreds := stscreds .NewAssumeRoleProvider (stsClient , roleArn )
410
+ creds , err := roleCreds .Retrieve (context .Background ())
411
411
if err != nil {
412
412
logrus .Errorf ("error assuming role '%s': %s" , roleArn , err .Error ())
413
413
return false
414
414
}
415
415
416
416
awsConfig .Credentials = aws .NewCredentialsCache (credentials .NewStaticCredentialsProvider (
417
- * result . Credentials . SecretAccessKey ,
418
- * result . Credentials .SecretAccessKey ,
419
- * result . Credentials .SessionToken ),
417
+ creds . AccessKeyID ,
418
+ creds .SecretAccessKey ,
419
+ creds .SessionToken ),
420
420
)
421
421
}
422
422
0 commit comments