Skip to content

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.