/cloud-init

Official upstream for the cloud-init: cloud instance initialization

Primary LanguagePythonOtherNOASSERTION

cloud-init

Build Status Read the Docs

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

Cloud instances are initialized from a disk image and instance data:

  • Cloud metadata
  • User data (optional)
  • Vendor data (optional)

Cloud-init will identify the cloud it is running on during boot, read any provided metadata from the cloud and initialize the system accordingly. This may involve setting up network and storage devices to configuring SSH access key and many other aspects of a system. Later on cloud-init will also parse and process any optional user or vendor data that was passed to the instance.

Getting help

If you need support, start with the user documentation.

If you need additional help consider reaching out with one of the following options:

Distribution and cloud support

Below are a list of the many OSes and clouds that contain and ship with cloud-init. If your distribution or cloud is not listed or does not have a recent version of cloud-init, please get in contact with that distribution and send them our way!

Supported OSes Supported Public Clouds Supported Private Clouds
Alpine Linux
ArchLinux
Debian
Fedora
FreeBSD
Gentoo Linux
NetBSD
OpenBSD
RHEL/CentOS
SLES/openSUSE
Ubuntu










Amazon Web Services
Microsoft Azure
Google Cloud Platform
Oracle Cloud Infrastructure
Softlayer
Rackspace Public Cloud
IBM Cloud
Digital Ocean
Bigstep
Hetzner
Joyent
CloudSigma
Alibaba Cloud
OVH
OpenNebula
Exoscale
Scaleway
CloudStack
AltCloud
SmartOS
HyperOne
Rootbox
Bare metal installs
OpenStack
LXD
KVM
Metal-as-a-Service (MAAS)















To start developing cloud-init

Checkout the hacking document that outlines the steps necessary to develop, test, and submit code.

Daily builds

Daily builds are useful if you want to try the latest upstream code for the latest features or to verify bug fixes.

For Ubuntu, see the Daily PPAs

For CentOS, see the COPR build repos