mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2025-08-10 19:46:56 +02:00
Merge pull request #676 from lb-saildrone/add-assumerole-aws-sd
adding assume role to aws_sd provider
This commit is contained in:
commit
fd3bed1f87
2
main.go
2
main.go
@ -112,7 +112,7 @@ func main() {
|
|||||||
log.Infof("Registry \"%s\" cannot be used with AWS ServiceDiscovery. Switching to \"aws-sd\".", cfg.Registry)
|
log.Infof("Registry \"%s\" cannot be used with AWS ServiceDiscovery. Switching to \"aws-sd\".", cfg.Registry)
|
||||||
cfg.Registry = "aws-sd"
|
cfg.Registry = "aws-sd"
|
||||||
}
|
}
|
||||||
p, err = provider.NewAWSSDProvider(domainFilter, cfg.AWSZoneType, cfg.DryRun)
|
p, err = provider.NewAWSSDProvider(domainFilter, cfg.AWSZoneType, cfg.AWSAssumeRole, cfg.DryRun)
|
||||||
case "azure":
|
case "azure":
|
||||||
p, err = provider.NewAzureProvider(cfg.AzureConfigFile, domainFilter, zoneIDFilter, cfg.AzureResourceGroup, cfg.DryRun)
|
p, err = provider.NewAzureProvider(cfg.AzureConfigFile, domainFilter, zoneIDFilter, cfg.AzureResourceGroup, cfg.DryRun)
|
||||||
case "cloudflare":
|
case "cloudflare":
|
||||||
|
@ -23,6 +23,7 @@ import (
|
|||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
|
"github.com/aws/aws-sdk-go/aws/credentials/stscreds"
|
||||||
"github.com/aws/aws-sdk-go/aws/request"
|
"github.com/aws/aws-sdk-go/aws/request"
|
||||||
"github.com/aws/aws-sdk-go/aws/session"
|
"github.com/aws/aws-sdk-go/aws/session"
|
||||||
sd "github.com/aws/aws-sdk-go/service/servicediscovery"
|
sd "github.com/aws/aws-sdk-go/service/servicediscovery"
|
||||||
@ -69,7 +70,7 @@ type AWSSDProvider struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewAWSSDProvider initializes a new AWS Route53 Auto Naming based Provider.
|
// NewAWSSDProvider initializes a new AWS Route53 Auto Naming based Provider.
|
||||||
func NewAWSSDProvider(domainFilter DomainFilter, namespaceType string, dryRun bool) (*AWSSDProvider, error) {
|
func NewAWSSDProvider(domainFilter DomainFilter, namespaceType string, assumeRole string, dryRun bool) (*AWSSDProvider, error) {
|
||||||
config := aws.NewConfig()
|
config := aws.NewConfig()
|
||||||
|
|
||||||
config = config.WithHTTPClient(
|
config = config.WithHTTPClient(
|
||||||
@ -88,6 +89,12 @@ func NewAWSSDProvider(domainFilter DomainFilter, namespaceType string, dryRun bo
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if assumeRole != "" {
|
||||||
|
log.Infof("Assuming role: %s", assumeRole)
|
||||||
|
sess.Config.WithCredentials(stscreds.NewCredentials(sess, assumeRole))
|
||||||
|
}
|
||||||
|
|
||||||
sess.Handlers.Build.PushBack(request.MakeAddToUserAgentHandler("ExternalDNS", externaldns.Version))
|
sess.Handlers.Build.PushBack(request.MakeAddToUserAgentHandler("ExternalDNS", externaldns.Version))
|
||||||
|
|
||||||
provider := &AWSSDProvider{
|
provider := &AWSSDProvider{
|
||||||
|
Loading…
Reference in New Issue
Block a user