Skip to content

Commit

Permalink
Merge pull request #63 from wanix/wanix/use-default-credentials
Browse files Browse the repository at this point in the history
use default credential management
  • Loading branch information
patjlm authored Sep 13, 2022
2 parents c50aaa2 + dcf3f89 commit 4db9d83
Showing 1 changed file with 6 additions and 13 deletions.
19 changes: 6 additions & 13 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (
"time"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/go-kit/kit/log/level"
"github.com/prometheus/common/promlog"
Expand Down Expand Up @@ -129,7 +128,7 @@ func loadExporterConfiguration(logger log.Logger, configFile string) (*Config, e
return &config, nil
}

func setupCollectors(logger log.Logger, configFile string, creds *credentials.Credentials) ([]prometheus.Collector, error) {
func setupCollectors(logger log.Logger, configFile string) ([]prometheus.Collector, error) {
var collectors []prometheus.Collector
config, err := loadExporterConfiguration(logger, configFile)
if err != nil {
Expand All @@ -143,7 +142,7 @@ func setupCollectors(logger log.Logger, configFile string, creds *credentials.Cr
level.Info(logger).Log("msg", "Will VPC metrics be gathered?", "vpc-enabled", config.VpcConfig.Enabled)
if config.VpcConfig.Enabled {
for _, region := range config.VpcConfig.Regions {
config := aws.NewConfig().WithCredentials(creds).WithRegion(region)
config := aws.NewConfig().WithRegion(region)
sess := session.Must(session.NewSession(config))
vpcSessions = append(vpcSessions, sess)
}
Expand All @@ -155,7 +154,7 @@ func setupCollectors(logger log.Logger, configFile string, creds *credentials.Cr
var rdsSessions []*session.Session
if config.RdsConfig.Enabled {
for _, region := range config.RdsConfig.Regions {
config := aws.NewConfig().WithCredentials(creds).WithRegion(region)
config := aws.NewConfig().WithRegion(region)
sess := session.Must(session.NewSession(config))
rdsSessions = append(rdsSessions, sess)
}
Expand All @@ -167,7 +166,7 @@ func setupCollectors(logger log.Logger, configFile string, creds *credentials.Cr
var ec2Sessions []*session.Session
if config.EC2Config.Enabled {
for _, region := range config.EC2Config.Regions {
config := aws.NewConfig().WithCredentials(creds).WithRegion(region)
config := aws.NewConfig().WithRegion(region)
sess := session.Must(session.NewSession(config))
ec2Sessions = append(ec2Sessions, sess)
}
Expand All @@ -177,7 +176,7 @@ func setupCollectors(logger log.Logger, configFile string, creds *credentials.Cr
}
level.Info(logger).Log("msg", "Will Route53 metrics be gathered?", "route53-enabled", config.Route53Config.Enabled)
if config.Route53Config.Enabled {
awsConfig := aws.NewConfig().WithCredentials(creds).WithRegion(config.Route53Config.Region)
awsConfig := aws.NewConfig().WithRegion(config.Route53Config.Region)
sess := session.Must(session.NewSession(awsConfig))
r53Exporter := NewRoute53Exporter(sess, logger, config.Route53Config)
collectors = append(collectors, r53Exporter)
Expand All @@ -198,20 +197,14 @@ func run() int {
level.Info(logger).Log("msg", "Starting"+namespace, "version", version.Info())
level.Info(logger).Log("msg", "Build context", version.BuildContext())

creds := credentials.NewEnvCredentials()
if _, err := creds.Get(); err != nil {
level.Error(logger).Log("msg", "Could not get AWS credentials from env variables", "err", err)
return 1
}

exporterMetrics = NewExporterMetrics()
var configFile string
if path := os.Getenv("AWS_RESOURCE_EXPORTER_CONFIG_FILE"); path != "" {
configFile = path
} else {
configFile = CONFIG_FILE_PATH
}
cs, err := setupCollectors(logger, configFile, creds)
cs, err := setupCollectors(logger, configFile)
if err != nil {
level.Error(logger).Log("msg", "Could not load configuration file", "err", err)
return 1
Expand Down

0 comments on commit 4db9d83

Please sign in to comment.