- Go 97.9%
- Shell 2.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
The env var tables in backends.md left most rows undescribed beyond the always-present ones. Fill in what each variable actually contains and, where relevant, when it's set, based on how the network/system/ user custom backends populate them. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V3hkxTY3qXLq2zugmN4nwK |
||
| .forgejo/workflows | ||
| cmd/cloud-init-pve | ||
| contrib/systemd | ||
| docs | ||
| internal | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| mkdocs.yml | ||
| nfpm.yaml | ||
| README.md | ||
Cloud Init PVE
cloud-init-pve implements the functionality of cloud-init, but focused on the configuration
that Proxmox Virtual Environment makes
available. It also tries to limit the impact of changes of the configuration after initial setup, for example, when
updating the password, or changing the IP address of a VM.
Documentation
Rendered docs: https://stb.hanse-page.de/cloud-init-pve/
- Overview — overview and quick start.
- Configuration — the
/etc/cloud-init-pve.yamlconfig file reference. - Cloud-Init Data — exactly which cloud-init user/network fields are recognized.
- Backends — what each built-in backend does, and the environment variables a custom backend script receives.
- Running via systemd — example units in
contrib/systemd/, and how boot-time and network-dependent config are split.
Installation
Download a release for Linux/amd64 — currently the only platform built — from Releases:
.deb:apt install ./cloud-init-pve-<version>-amd64.deb..tar.gz: a plain binary — extract it onto$PATHyourself.
Or build from source (Go 1.26+): go build ./cmd/cloud-init-pve.
Quick start
sudo cloud-init-pve
Run as root, with no arguments, cloud-init-pve reads
/etc/cloud-init-pve.yaml (or the documented defaults if it's absent),
locates and mounts the Proxmox-generated cloud-init config drive, applies
the configured backends, and records what it applied so the next run can
tell what changed. See https://stb.hanse-page.de/cloud-init-pve/ for more.