systemd-imds - Man Page

Cloud IMDS (Instance Metadata Service) tool

Synopsis

systemd-imds-import.service

systemd-imds [OPTIONS...] [KEY]

Description

systemd-imds is a tool for acquiring data from IMDS (Instance Metadata Service), as provided in many cloud environments. It is a client to systemd-imdsd@.service(8), and provides access to IMDS data from shell environments.

The tool can operate in one of five modes:

Options and Commands

--well-known=, -K

Takes one of "hostname", "region", "zone", "ipv4-public", "ipv6-public", "ssh-key", "userdata", "userdata-base", "userdata-base64". Acquires a specific "well-known" field from IMDS. Many of these fields are commonly supported by various IMDS implementations, but typically some fields are not. Note that if --well-known=userdata-base is used an additional subkey should be specified as positional argument, which encodes the specific userdata item to acquire.

Added in version 261.

--refresh=

Takes a time in seconds as argument, and indicates the required "freshness" of the data, in case cached data is used.

Added in version 261.

--cache=

Takes a boolean. If set to false local caching of IMDS is disabled, and the data is always acquired fresh from the IMDS endpoint.

Added in version 261.

--userdata,  -u

Acquire this instance's IMDS user data, if available. See above for details.

Added in version 261.

--import

Acquires IMDS data and writes relevant fields as credentials to /run/credstore/. This currently covers:

  • If the IMDS user data is a valid JSON object containing a field systemd.credentials (with a JSON array as value) it is processed, importing arbitrary credentials listed in the array. Each array item must have a name field indicating the credential name. It may have one text, data or encrypted field, containing the credential data. If text is used the value shall be a literal string of the credential value. If data is used the value may be arbitrary binary data encoded in a Base64 string. If encrypted is used the value shall be a Base64 encoded encrypted credential. See systemd.system-credentials(7) for information about credentials that may be imported this way.
  • If the well-known ssh-key field is available, its value will be imported into the ssh.authorized_keys.root credential.
  • If the well-known hostname field is available, its value will be imported into the firstboot.hostname credential.

This command is invoked by the systemd-imds-import.service run at boot.

Added in version 261.

-h,  --help

Print a short help text and exit.

--version

Print a short version string and exit.

Exit Status

On success, 0 is returned, a non-zero failure code otherwise.

See Also

systemd(1), systemd-imdsd@.service(8), systemd-imds-generator(8), systemd.system-credentials(7)

Referenced By

systemd.directives(7), systemd-imdsd@.service(8), systemd-imds-generator(8), systemd.index(7).

systemd 261~rc1