my development copy of cloud-init
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mina Galić 30a1728a62 fix lints. 1 month ago
.github Github is deprecating the 18.04 runner starting 12.1 (#1665) 4 months ago
.vscode schema: write_files defaults, versions $ref full URL and add vscode (#1479) 7 months ago
bash_completion bash completion: update schema command (#1543) 5 months ago
cloudinit fix parsing for OpenBSD, and ifindex 1 month ago
config cc_ntp: add support for BSDs (#1759) 2 months ago
doc add NWCS datasource (#1793) 1 month ago
packages docs: use opensuse for distro name in package doc (#1771) 2 months ago
systemd Add support for OpenMandriva ( (#1520) 6 months ago
sysvinit add DragonFlyBSD support (#904) 2 years ago
templates add support for Container-Optimized OS (#1748) 2 months ago
tests fix lints. 1 month ago
tools add NWCS datasource (#1793) 1 month ago
udev Add "install hotplug" module (SC-476) (#1069) 1 year ago
.git-blame-ignore-revs Add .git-blame-ignore-revs (#1161) 12 months ago
.gitignore Fuzz testing jsonchema (#1499) 5 months ago
.pylintrc CI: add non-blocking run against the linters tip versions (#1531) 5 months ago
.readthedocs.yaml doc: Fix rtd builds. (#1718) 3 months ago
.travis.yml test: add 3.12-dev to Travis CI (#1798) 1 month ago
CONTRIBUTING.rst docs: Align git remotes with uss-tableflip setup (#1624) 4 months ago
ChangeLog Release 22.3 (#1662) 4 months ago
LICENSE LICENSE: Allow dual licensing GPL-3 or Apache 2.0 6 years ago
LICENSE-Apache2.0 LICENSE: Allow dual licensing GPL-3 or Apache 2.0 6 years ago
LICENSE-GPLv3 LICENSE: Allow dual licensing GPL-3 or Apache 2.0 6 years ago upstart: drop vestigial support for upstart (#1421) 7 months ago
Makefile make Makefile make agnostic (#1786) 2 months ago add support for Container-Optimized OS (#1748) 2 months ago docs: Add to readthedocs 3 years ago
TODO.rst move TODO to TODO.rst 9 years ago
WIP-ONGOING-REFACTORIZATION.rst Move notes about refactorization out of CONTRIBUTING.rst (#1389) 8 months ago tests: Drop httpretty in favor of responses (#1720) 3 months ago
doc-requirements.txt doc: pin doc8 to last passing version 4 months ago
integration-requirements.txt pycloudlib: bump commit for gce cpu architecture support (#1750) 3 months ago
pyproject.toml cc_ubuntu_advantage: Implement custom auto-attach behaviors (#1583) 3 months ago
requirements.txt Drop mypy excluded files (#1454) 7 months ago clean: allow third party cleanup scripts in /etc/cloud/clean.d (#1581) 5 months ago
snapcraft.yaml snap: Removing snapcraft plug line 6 years ago
test-requirements.txt tests: Drop httpretty in favor of responses (#1720) 3 months ago
tox.ini tests: Drop httpretty in favor of responses (#1720) 3 months ago


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
Arch Linux
Container-Optimized OS
Gentoo Linux
RHEL/CentOS/AlmaLinux/Rocky/PhotonOS/Virtuozzo/EuroLinux/CloudLinux/MIRACLE LINUX

Amazon Web Services
Microsoft Azure
Google Cloud Platform
Oracle Cloud Infrastructure
Rackspace Public Cloud
IBM Cloud
Alibaba Cloud
Huawei Cloud
Bare metal installs
Metal-as-a-Service (MAAS)

To start developing cloud-init

Checkout the contributing 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