diff --git a/pages/elastic-metal/concepts.mdx b/pages/elastic-metal/concepts.mdx index db164d7fb2..3da68dd6dc 100644 --- a/pages/elastic-metal/concepts.mdx +++ b/pages/elastic-metal/concepts.mdx @@ -3,11 +3,37 @@ title: Elastic Metal - Concepts description: This page explains all the concepts related to Scaleway Elastic Metal servers tags: elastic-metal rescue-mode private-networks remote-access az dates: - validation: 2025-08-27 + validation: 2025-11-03 --- import RegionAndAz from '@macros/console/region-and-az.mdx' +## Cloud-init + +**Cloud-init** is a widely used tool that automates the initial configuration of Elastic Metal servers at boot time. It allows users to define and execute custom setup instructions, transforming a generic operating system image into a fully configured dedicated machine within seconds. + +When an Elastic Metal server is launched, `cloud-init` reads user-provided configuration data (also known as *user-data*) and applies it during the boot process. This enables tasks such as installing packages, creating users, configuring SSH keys, or running shell scripts automatically, without manual intervention. + +### Cloud-init user-data + +User-data is the mechanism through which configuration instructions are passed to an Instance. When cloud-init detects user-data during boot, it interprets and executes it based on the data format provided. +The following formats are supported: + +| Format | Starts with | Description | +| --------------------------- | ----------------- | ---------------------------------------------------------------- | +| **Cloud config file** | `#cloud-config` | YAML file containing cloud-init configuration directives. | +| **Shell script** | `#!` | Shell script executed during the first boot of the Instance. | +| **Include file** | `#include` | File listing URLs whose contents will be fetched and executed. | +| **Gzip compressed content** | N/A | Gzip-compressed user-data that is decompressed and executed. | +| **MIME multipart archive** | N/A | File combining multiple data types (e.g. cloud-config + script). | +| **Upstart job** | `#upstart-job` | Upstart job to be executed during boot. | +| **Cloud boothook** | `#cloud-boothook` | Script executed very early in the boot process. | +| **Part handler** | `#part-handler` | Custom handler for processing specific data parts. | + + + Only user-data with content type `text/plain` is currently supported on Scaleway. + + ## Elastic Metal server Scaleway Elastic Metal are dedicated physical servers you can order on-demand, like Instances. These servers can be used for large workloads, big data and applications that require increased security and dedicated resources. diff --git a/pages/elastic-metal/how-to/create-server.mdx b/pages/elastic-metal/how-to/create-server.mdx index 92e6108cc0..2819e5db7f 100644 --- a/pages/elastic-metal/how-to/create-server.mdx +++ b/pages/elastic-metal/how-to/create-server.mdx @@ -35,6 +35,7 @@ Scaleway [Elastic Metal servers](https://www.scaleway.com/en/elastic-metal/) pro - Select a server configuration from the available options. - Choose an OS to run on your server or opt for no preinstalled image. - Configure server partitioning. You can either choose a default configuration or [configure your own partitioning](/elastic-metal/how-to/configure-disk-partitions/). + - Optionally, enable and configure cloud-init. Cloud-init is a widely adopted standard for customizing dedicated servers. [Learn more](/elastic-metal/concepts/#cloud-init). - Enter a name and, optionally, add tags to identify your server. - Add your SSH key (required if installing an image on your server). Depending on the OS image, you may also be asked to configure the panel user for your server. - Optionally, configure the available public bandwidth for your server. This option may not be available for all offers.