Datasources

Datasources are sources of configuration data for cloud-init that typically come from the user (i.e., user-data) or come from the cloud that created the configuration drive (i.e., meta-data). Typical user-data includes files, YAML, and shell scripts whereas typical meta-data includes server name, instance id, display name, and other cloud specific details.

Any meta-data processed by cloud-init’s datasources is persisted as /run/cloud-init/instance-data.json. Cloud-init provides tooling to quickly introspect some of that data. See Instance-data for more information.

How to configure which datasource to use

By default cloud-init should automatically determine which datasource it is running on. Therefore, in most cases, users of cloud-init should not have to configure cloud-init to specify which datasource cloud-init is running on; cloud-init should “figure it out”.

There are exceptions, however, when the datasource does not identify itself to cloud-init. For these exceptions, one can override datasource detection either by configuring a single datasource in the datasource_list, or by using kernel command line arguments.

Datasources:

The following is a list of documentation for each supported datasource: