> For the complete documentation index, see [llms.txt](https://freundcloud.gitbook.io/devops-examples-from-real-life/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://freundcloud.gitbook.io/devops-examples-from-real-life/development-environment/devops-tools/should-learn/cloud-init.md).

# Cloud init

## Cloud-init documentation

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

During boot, `cloud-init` identifies the cloud it is running on and initialises the system accordingly. Cloud instances will automatically be provisioned during first boot with networking, storage, SSH keys, packages and various other system aspects already configured.

`Cloud-init` provides the necessary glue between launching a cloud instance and connecting to it so that it works as expected.

***

## Supported Cloud Providers

Cloud-init is natively supported and used by the following major cloud providers to configure Linux VMs at launch:

* **AWS (Amazon Web Services):** Used for EC2 Linux instances via user data scripts and AMIs.
* **Azure (Microsoft Azure):** Used for Linux VMs and VM Scale Sets, supporting custom data and extensions.
* **GCP (Google Cloud Platform):** Used for Compute Engine Linux VMs via startup scripts and metadata.
* **OpenStack:** Default for Linux guest initialization.
* **Oracle Cloud, IBM Cloud, Alibaba Cloud:** Supported for Linux VM provisioning.

Cloud-init is also used in private clouds and on-premises environments (e.g., MAAS, VMware, bare metal) for consistent, automated Linux configuration.

***

> **Tip:** Always check your cloud provider's documentation for the latest cloud-init support and integration details.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://freundcloud.gitbook.io/devops-examples-from-real-life/development-environment/devops-tools/should-learn/cloud-init.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
