boma/terraform
sjat bbc287900a feat(tf): hetzner_vm module (server + firewall + ssh key + cloud-init)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 12:03:01 +02:00
..
environments feat(tags): Proxmox VM metadata convention (managed-by=terraform) 2026-06-06 09:39:19 +02:00
modules feat(tf): hetzner_vm module (server + firewall + ssh key + cloud-init) 2026-06-14 12:03:01 +02:00
README.md Add Terraform VM-provisioning skeleton 2026-05-30 14:10:01 +02:00

terraform/

Infrastructure provisioning. Terraform owns VM existence only — creating and destroying Proxmox VMs. It writes no DNS records and configures nothing inside a VM; Ansible owns all of that.

  • modules/proxmox_vm/ — reusable VM module (Proxmox only).
  • environments/{staging,production}/ — separate state per environment. Add a VM by editing local.vms in that env's main.tf, then make tf-plantf-applytf-inventory.

Rationale: ADR-006. Handoff to Ansible: ADR-009. Secrets via TF_VAR_* only — never in .tfvars. Not yet terraform inited — see STATUS.md.