in auth/auth.go [133:157]
func (p Auth) GetAWSSession() (awsSession *session.Session, e error) {
roleArn, err := p.getRoleARN()
if err != nil {
return nil, err
}
fetcher := &authTokenFetcher{p.nameSpace, p.svcAcc, p.k8sClient}
ar := stscreds.NewWebIdentityRoleProviderWithToken(p.stsClient, *roleArn, ProviderName, fetcher)
config := aws.NewConfig().
WithSTSRegionalEndpoint(endpoints.RegionalSTSEndpoint). // Use regional STS endpoint
WithRegion(p.region).
WithCredentials(credentials.NewCredentials(ar))
// Include the provider in the user agent string.
sess, err := session.NewSession(config)
if err != nil {
return nil, err
}
sess.Handlers.Build.PushFront(func(r *request.Request) {
request.AddToUserAgent(r, ProviderName)
})
return session.Must(sess, err), nil
}