table of contents
- unstable 261~rc1-1
| SYSTEMD-IMDSD@.SERVICE(8) | systemd-imdsd@.service | SYSTEMD-IMDSD@.SERVICE(8) |
NAME¶
systemd-imdsd@.service, systemd-imdsd, systemd-imdsd.socket, systemd-imdsd-early-network.service - Cloud IMDS (Instance Metadata Service) client
SYNOPSIS¶
systemd-imdsd@.service
systemd-imdsd.socket
systemd-imdsd-early-network.service
/usr/lib/systemd/systemd-imdsd
DESCRIPTION¶
systemd-imdsd@.service is a system service that provides local access to IMDS (Instance Metadata Service; or equivalent) functionality, as provided by many public clouds.
The service provides a Varlink IPC interface via /run/systemd/io.systemd.InstanceMetadata to query IMDS fields.
systemd-imdsd-early-network.service is a system service that generates a systemd-networkd.service(8) compatible systemd.network(5) file for configuring the early-boot network in order to be able to contact the IMDS endpoint.
The systemd-imds(1) tool may be used to query information from this service.
KERNEL COMMAND LINE OPTIONS¶
The IMDS endpoint is typically determined automatically via hwdb(7) records, but can also be configured explicitly via the kernel command line, via the following options:
systemd.imds.network=
Added in version 261.
systemd.imds.vendor=
Example:
systemd.imds.vendor=foobarcloud
Added in version 261.
systemd.imds.token_url=
Added in version 261.
systemd.imds.refresh_header_name=
Added in version 261.
systemd.imds.data_url=
The data URLs are concatenated from this base URL, the IMDS "key" and the suffix configured via systemd.imds.data_url_suffix= below. Well-known IMDS "keys" can be configured via the systemd.imds.key=* options below.
Example:
systemd.imds.data_url=http://169.254.169.254/metadata
Added in version 261.
systemd.imds.data_url_suffix=
Example:
systemd.imds.data_url_suffix=?api-version=2025-04-07&format=text
Added in version 261.
systemd.imds.token_header_name=
Added in version 261.
systemd.imds.extra_header=
Example:
systemd.imds.extra_header=Metadata:true
Added in version 261.
systemd.imds.address_ipv4=
Example:
systemd.imds.address_ipv4=169.254.169.254
Added in version 261.
systemd.imds.address_ipv6=
Added in version 261.
systemd.imds.key.hostname=, systemd.imds.key.region=, systemd.imds.key.zone=, systemd.imds.key.ipv4_public=, systemd.imds.key.ipv6_public=, systemd.imds.key.ssh_key=, systemd.imds.key.userdata=, systemd.imds.key.userdata_base=, systemd.imds.key.userdata_base64=
A special case are the three "userdata" keys: the option systemd.imds.key.userdata_base= should be used if the IMDS service knows a concept of multiple userdata fields, and a field identifier thus still needs to be appended to the userdata base URL. The option systemd.imds.key.userdata= should be used if only a single userdata field is supported. The option systemd.imds.key.userdata_base64= should be used in the same case, but only if the userdata field is encoded in Base64.
Example:
systemd.imds.key.hostname=/instance/compute/osProfile/computerName
Added in version 261.
CREDENTIALS¶
systemd-imdsd@.service supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:
imds.vendor, imds.vendor_token, imds.refresh_header_name, imds.data_url, imds.data_url_suffix, imds.token_header_name, imds.extra_header, imds.extra_header2, imds.extra_header3, imds.extra_header..., imds.address_ipv4, imds.address_ipv6, imds.key_hostname, imds.key_region, imds.key_zone, imds.key_ipv4_public, imds.key_ipv6_public, imds.key_ssh_key, imds.key_userdata, imds.key_userdata_base, imds.key_userdata_base64
Added in version 261.
SEE ALSO¶
systemd(1), systemd-imds(1), systemd-imds-generator(8), systemd-networkd.service(8)
| systemd 261~rc1 |