The standard for customising cloud instances

Watch tutorial

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

Git logo


Browse and branch from Git.

Git repository
GitHub logo


Browse, branch, fork or clone from GitHub.

GitHub repository
Download logo


Download the officially released archives.

Download project files

Used across the public cloud

Rackspace logo OVH logo VMware logo Microsoft Azure logo Amazon Web Services logo Joyent logo Fujitsu logo Google Cloud Platform logo


Read the docs

Including datasource and module references, and plenty of examples.

Chat on freenode

We have an active IRC community on #cloud-init — get involved!

Search on Stack Exchange

Ask questions and search for answers at StackExchange.

Report a bug

Help us improve the software by flagging bugs and issues you find on Launchpad.


cloud-init is developed and released as free software under both the GPLv3 open source license and 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.

The team

Scott Moser profile picture

Scott Moser

Scott is the primary author and active maintainer of cloud-init, and is a technical leader on the Ubuntu Server Team for Canonical.

Joshua Harlow profile picture

Joshua Harlow

Joshua is an active maintainer of cloud-init, hacking on clouds for GoDaddy.