cloud-init
cloud instance initialization and configuration
TLDR
Display the status of the most recent cloud-init run
SYNOPSIS
cloud-init [options] command [arguments]
DESCRIPTION
cloud-init is the industry standard for cloud instance initialization across all major cloud providers and Linux distributions. It handles early initialization of cloud instances including networking configuration, storage setup, SSH key injection, user account creation, and package installation.
Cloud-init reads configuration from various datasources including cloud provider metadata services, user-data scripts, and local configuration files. It runs during the boot process in multiple stages to ensure proper ordering of system configuration tasks.
The tool supports cloud-config YAML for declarative configuration, shell scripts for imperative setup, and can be extended with custom modules. It provides commands for querying instance metadata, validating configurations, and troubleshooting initialization issues.
PARAMETERS
status
Report cloud-init statusquery key
Query instance metadataclean
Remove logs and artifactscollect-logs
Gather debugging informationschema
Validate cloud-config files
CONFIGURATION
/etc/cloud/cloud.cfg
Main configuration file controlling modules, datasources, and default settings.**/etc/cloud/cloud.cfg.d/*.cfg**
Drop-in configuration files merged with the main config.
CAVEATS
Primarily useful in cloud/virtual environments with metadata services. Running clean allows cloud-init to run again on next boot, which may reconfigure the system. Some commands require root privileges.
HISTORY
cloud-init was originally developed for Ubuntu by Canonical and has become the de facto standard for cloud instance initialization across most Linux distributions and cloud providers.
SEE ALSO
cloud-config(5), systemctl(1)
