From: Michael Brown Date: Tue, 14 Jul 2026 12:10:19 +0000 (+0100) Subject: [cloud] Add support for AWS IMDSv2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=345abfba19eb7713b8d92331c143e2eaeb5fce71;p=thirdparty%2Fipxe.git [cloud] Add support for AWS IMDSv2 Use an HTTP PUT request to fetch a session token, and pass this token value as a header when fetching the user-data script. Signed-off-by: Michael Brown --- diff --git a/src/config/cloud/aws.ipxe b/src/config/cloud/aws.ipxe index c1f40f340..11891f1a0 100644 --- a/src/config/cloud/aws.ipxe +++ b/src/config/cloud/aws.ipxe @@ -19,6 +19,22 @@ exit :dhcp_ok route || -chain -ar http://169.254.169.254/latest/user-data || + +# Fetch session token +params --method PUT +param --header X-Aws-Ec2-Metadata-Token-Ttl-Seconds 600 +imgset authtoken http://169.254.169.254/latest/api/token##params || + +# Fetch user-data +params +isset ${authtoken} && param --header X-Aws-Ec2-Metadata-Token ${authtoken} || +kernel http://169.254.169.254/latest/user-data##params || +imgstat || + +# Boot from user-data +boot -ar || + +# Show diagnostic information on failure +imgstat || ifstat || exit