cloud-init
Cloud-init is my go-to tool for bootstrapping virtual machines because it turns first-boot configuration into code.
Older Ubuntu installers relied on preseed/late-command hacks to achieve something similar, but cloud-init provides a distribution-agnostic way to declare users, packages, services, and files in a single YAML document. The result: predictable machines without manual post-install steps.
Why I like it
- Version-controlled instance initialization shared across KVM, OpenStack, and public clouds.
- Easy integration with CI pipelines—attach user-data and the VM comes online already configured.
- Layered configuration (vendor, datasource, user) makes overrides explicit and auditable.
Next experiments
- Build reusable snippets for FreeBSD cloud-init support.
- Document best practices for secrets handling and datasource discovery.