Configuration¶
cloud-init-pve is configured from a YAML file, by default
/etc/cloud-init-pve.yaml (override with -config). The config file
controls which aspects of the cloud-init data to apply (and which to
ignore), and which specific mechanism — a built-in implementation, or a
custom script — to use to apply each part.
If the file is missing, every section uses the defaults noted below.
network:¶
| Key | Values | Description |
|---|---|---|
backend |
systemd (default), none, custom |
none: network configuration is ignored completely. systemd: uses systemd-networkd and systemd-resolved for interfaces and DNS. custom: run custom-backend. |
custom-backend |
path | Script to execute when backend: custom. |
system:¶
| Key | Values | Description |
|---|---|---|
backend |
builtin (default), none, custom |
builtin: use the built-in FQDN/package-upgrade handling. none: this data is ignored. custom: run custom-backend. |
custom-backend |
path | Script to execute when backend: custom. |
user:¶
| Key | Values | Description |
|---|---|---|
backend |
builtin (default), none, custom |
builtin: use the built-in user/password/SSH-key handling. none: this data is ignored. custom: run custom-backend. |
custom-backend |
path | Script to execute when backend: custom. |
default-user |
name or UID | The "default" user to manage when the cloud-init data doesn't specify one. Defaults to UID 1000. |
Example¶
network:
backend: systemd
system:
backend: builtin
user:
backend: builtin
default-user: 1000
See Backends for what each built-in backend actually does, and the environment variables a custom backend script receives.