Skip to content

Commit

Permalink
refactorings
Browse files Browse the repository at this point in the history
  • Loading branch information
catsby committed Dec 15, 2015
1 parent 77d9a7b commit 827863a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 20 deletions.
24 changes: 7 additions & 17 deletions builtin/providers/aws/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -346,37 +346,27 @@ func getCreds(key, secret, token string) *awsCredentials.Credentials {
// to the metadata service within a reasonable amount of time
metadataURL := os.Getenv("AWS_METADATA_URL")
if metadataURL == "" {
metadataURL = "169.254.169.254:80"
metadataURL = "http://169.254.169.254:80/latest"
}
c := http.Client{
Timeout: 100 * time.Millisecond,
}

log.Printf("\n---\nMetadata: %#v\n---\n", metadataURL)
r, err := c.Get(metadataURL + "/latest/meta-data")
r, err := c.Get(metadataURL)
var useIAM bool
if r != nil {
log.Printf("\n---\nHeaders: %#v\n---\n", r.Header)
}
if err == nil {
server := r.Header["Server"]
if server == nil {
log.Printf("\n\t--- is nil")
} else {
log.Printf("\n\t--- is NOT nil")
}

// log.Printf("\n---\nServer in errnil: %#v\n---\n", server)
if r.Header["Server"] != nil && strings.Contains(r.Header["Server"][0], "EC2") {
useIAM = true
}
} else {
log.Printf("\n---\nerr is not nil: %s\n---\n", err)
}

if useIAM {
log.Printf("[DEBUG] EC2 Metadata service found, adding EC2 Role Credential Provider")
providers = append(providers, &ec2rolecreds.EC2RoleProvider{Client: ec2metadata.New(session.New(&aws.Config{Endpoint: aws.String(metadataURL)}))})
providers = append(providers, &ec2rolecreds.EC2RoleProvider{
Client: ec2metadata.New(session.New(&aws.Config{
Endpoint: aws.String(metadataURL),
})),
})
} else {
log.Printf("[DEBUG] EC2 Metadata service not found, not adding EC2 Role Credential Provider")
}
Expand Down
6 changes: 3 additions & 3 deletions builtin/providers/aws/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ func awsEnv(t *testing.T) func() {
}
}))

os.Setenv("AWS_METADATA_URL", ts.URL)
os.Setenv("AWS_METADATA_URL", ts.URL+"/latest")
return ts.Close
}

Expand Down Expand Up @@ -287,11 +287,11 @@ const aws_routes = `
{
"endpoints": [
{
"uri": "/meta-data/iam/security-credentials",
"uri": "/latest/meta-data/iam/security-credentials",
"body": "test_role"
},
{
"uri": "/meta-data/iam/security-credentials/test_role",
"uri": "/latest/meta-data/iam/security-credentials/test_role",
"body": "{\"Code\":\"Success\",\"LastUpdated\":\"2015-12-11T17:17:25Z\",\"Type\":\"AWS-HMAC\",\"AccessKeyId\":\"somekey\",\"SecretAccessKey\":\"somesecret\",\"Token\":\"sometoken\"}"
}
]
Expand Down

0 comments on commit 827863a

Please sign in to comment.