Skip to content

Commit 32db47c

Browse files
Merge pull request #114 from AdRoll/support-imdsv2
Support IMDSv2 for Rust AWS SDK
2 parents a722443 + 730aebc commit 32db47c

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

agent/metadata_service.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@ Spawned in the background.
104104
func (mds *metadataService) listen() {
105105
handler := http.NewServeMux()
106106
handler.HandleFunc("/latest", makeSecure(mds.getServices, mds))
107+
handler.HandleFunc("/latest/api/token", makeSecure(mds.getv2Token, mds))
107108
handler.HandleFunc("/latest/meta-data/iam/security-credentials/", makeSecure(mds.enumerateRoles, mds))
109+
handler.HandleFunc("/latest/meta-data/iam/security-credentials", makeSecure(mds.enumerateRoles, mds))
108110
handler.HandleFunc("/latest/meta-data/iam/security-credentials/hologram-access", makeSecure(mds.getCredentials, mds))
109111
handler.HandleFunc("/latest/meta-data/instance-id", makeSecure(mds.getInstanceID, mds))
110112
handler.HandleFunc("/latest/meta-data/placement/availability-zone", makeSecure(mds.getAvailabilityZone, mds))
@@ -155,6 +157,11 @@ func (mds *metadataService) getServices(w http.ResponseWriter, r *http.Request)
155157
fmt.Fprint(w, "meta-data")
156158
}
157159

160+
func (mds *metadataService) getv2Token(w http.ResponseWriter, r *http.Request) {
161+
w.Header().Set("x-aws-ec2-metadata-token-ttl-seconds", r.Header.Get("x-aws-ec2-metadata-token-ttl-seconds"))
162+
fmt.Fprint(w, "AQAAAO8q4JDjNt4Nk1u6A9zFMofraQ1ZWRUQ8ppb9sWxiXEbYOSlOw==")
163+
}
164+
158165
func (mds *metadataService) getInstanceID(w http.ResponseWriter, r *http.Request) {
159166
fmt.Fprint(w, "i-deadbeef")
160167
}

0 commit comments

Comments
 (0)