# Project: ProxmoxInfra Terraform infrastructure-as-code for a homelab Proxmox environment. ## Context This repo was started *after* the Proxmox server was already set up manually. Existing infrastructure was provisioned by hand and must not be touched by Terraform. Only new resources going forward are managed here. ## Key rules for this project - **Never import or manage existing Proxmox resources** unless the junior explicitly decides to and understands the risk of state drift. - **Credentials never go in version control.** `.tfvars` files are gitignored. Always use `terraform.tfvars.example` as the template pattern. - **No resources in root module.** As the repo grows, push toward a `environments/` layout with reusable modules under `modules/`. - **State is not yet remote.** When a backend is introduced, make it a deliberate decision with a knowledge transfer on why remote state matters (locking, team access, DR). ## Stack - Provider: `bpg/proxmox` (not the deprecated Telmate provider) - Terraform >= 1.0 - Target: single-node Proxmox VE homelab ## Learning goals for this project - Understand Terraform's core workflow (init / plan / apply / destroy) - Understand provider authentication and least-privilege API tokens - Understand state — what it is, why it matters, what happens when it drifts - Build intuition for when to use a VM vs an LXC container in Proxmox - Learn to structure a Terraform repo that can scale without becoming a mess