diff --git a/init/az2-sethostname.in b/init/az2-sethostname.in index dcce08bf2d9..14635a4dcb1 100644 --- a/init/az2-sethostname.in +++ b/init/az2-sethostname.in @@ -1,12 +1,21 @@ [Unit] -Description=Set Hostname Workaround coreos/bugs#1272 +Description=Set Hostname Workaround coreos/bugs#1272 with EC2 IMDSv2 support Wants=network-online.target After=network-online.target [Service] Type=oneshot RemainAfterExit=yes -ExecStart=/bin/sh -c "/usr/bin/hostnamectl set-hostname $(curl -s http://169.254.169.254/latest/meta-data/hostname)" + +ExecStartPre=/bin/sh -c 'curl -sX PUT "http://169.254.169.254/latest/api/token" \ + -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" > /run/imds_token' + +ExecStartPre=/bin/sh -c 'curl -s "http://169.254.169.254/latest/meta-data/hostname" \ + -H "X-aws-ec2-metadata-token: $(cat /run/imds_token)" > /run/ec2_hostname' + +ExecStart=/bin/sh -c '/usr/bin/hostnamectl set-hostname "$(cat /run/ec2_hostname)"' + +ExecStartPost=/bin/sh -c 'rm -f /run/imds_token /run/ec2_hostname' [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target