PN51 Homelab
Terraform creates four Ubuntu Server 26.04 LTS VMs on the PN51's Ubuntu Desktop KVM host. Ansible configures a one-server/three-worker K3s cluster, retained data disks, Prometheus, Grafana, Authelia MFA, Headlamp, Homepage, scoped Argo CD, and protected HTTPS ingress.
Start with provisioning. For an existing installation, use operations or monitoring.
| Need | Guide |
|---|---|
| Build the lab from a prepared host | Provisioning tutorial |
| Understand ownership and failure modes | Architecture |
| Look up inputs, versions, and commands | Reference |
| Replace a worker or restore state | Operations |
| Keep a public repository safe | Security |
| Manage application GitOps without adopting infrastructure | Argo CD ownership |
| Check correctness and convergence | Testing |
Boundaries
The PN51 has 32 GiB RAM and a 1 TB NVMe disk. Four 4 GiB server VMs leave about half the memory for the Desktop host. Each VM has two vCPUs, a replaceable 64 GiB root disk, and a protected 64 GiB application data disk.
This is one physical failure domain. The control plane uses a single-member embedded etcd datastore for snapshots, not for high availability. Monitoring uses node-local persistent volumes by default. Back up both cluster state and application data outside this machine.