Cloud images are operating system templates and every instance starts out as an identical clone of every other instance. It is the user data that gives every cloud instance its personality and cloud-init is the tool that applies user data to your instances automatically.
Use cloud-init to configure:
- Setting a default locale
- Setting the hostname
- Generating and setting up SSH private keys
- Setting up ephemeral mount points
Works with many popular operating systems
While cloud-init started life in Ubuntu, it is now available for most major Linux and FreeBSD operating systems. For cloud image providers, then cloud-init handles many of the differences between cloud vendors automatically — for example, the official Ubuntu cloud images are identical across all public and private clouds.
Source code
Used across the public cloud
Support
Read the docs
Including datasource and module references, and plenty of examples.
Chat on Libera Chat
We have an active IRC community on #cloud-init — get involved!
Read the whitepaper
Cloud Instance Initialisation with cloud-init.
Report a bug
Help us improve the software by flagging bugs and issues you find on Launchpad.
About
cloud-init is developed and released as free software under both the GPLv3 open source license and the Apache License version 2.0. It was originally designed for the Ubuntu distribution of Linux in Amazon EC2, but is now supported on many Linux and UNIX distributions in every major cloud.