Cloud-init documentation

Cloud-init is the industry standard multi-distribution method for cross-platform cloud instance initialisation. It is supported across all major public cloud providers, provisioning systems for private cloud infrastructure, and bare-metal installations.

During boot, cloud-init identifies the cloud it is running on and initialises the system accordingly. Cloud instances will automatically be provisioned during first boot with networking, storage, SSH keys, packages and various other system aspects already configured.

Cloud-init provides the necessary glue between launching a cloud instance and connecting to it so that it works as expected.

For cloud users, cloud-init provides no-install first-boot configuration management of a cloud instance. For cloud providers, it provides instance setup that can be integrated with your cloud.

If you would like to read more about what cloud-init is, what it does and how it works, check out our high-level introduction to the tool.


Get started - a hands-on introduction to cloud-init for new users

How-to guides

Step-by-step guides covering key operations and common tasks


Technical information - specifications, APIs, architecture


Discussion and clarification of key topics

Having trouble? We would like to help!

Project and community

Cloud-init is an open source project that warmly welcomes community projects, contributions, suggestions, fixes and constructive feedback.