-
Notifications
You must be signed in to change notification settings - Fork 0
ProxmoxTerraformProvider
title: bpg/proxmox Terraform provider type: tool created: 2026-05-26 last_updated: 2026-05-26 related: ["radar/techniques/HomelabTerraformCloudInit", "radar/techniques/TerraformTesting", "radar/techniques/HomelabKubernetesPatterns"] sources: ["https://registry.terraform.io/providers/bpg/proxmox/latest/docs"] radar_quadrant: Tools radar_ring: Assess radar_position: inner
Community Terraform provider for managing Proxmox VE infrastructure as code — VMs, LXC containers, storage, network bridges, and user accounts defined in HCL and applied via terraform apply.
Proxmox VE has no official Terraform provider. The bpg/proxmox provider fills this gap as the community standard (the older telmate/proxmox provider is largely abandoned). It covers the full Proxmox resource lifecycle:
- Virtual machines — create, clone, configure, and destroy KVM VMs with full resource specification (CPU, memory, disks, network, PCIe passthrough)
- LXC containers — manage lightweight containers alongside VMs in the same Terraform state
-
Cloud-init integration — inject cloud-init
user-dataandmeta-datafiles directly into VM provisioning via theinitializationblock - Storage and network — define storage pools, NFS mounts, and network bridges as managed resources
-
Snippets and file uploads — upload cloud-init configs and ISO images to Proxmox storage via
proxmox_virtual_environment_file
The provider's initialization block is the concrete enabler for the Homelab Terraform and Cloud-Init Provisioning technique (Assess/inner):
resource "proxmox_virtual_environment_vm" "node" {
name = "k3s-node-1"
node_name = "pve"
clone { vm_id = var.template_vm_id }
cpu { cores = 2 }
memory { dedicated = 2048 }
initialization {
user_data_file_id = proxmox_virtual_environment_file.cloud_init.id
}
}Terraform creates the VM from a template; cloud-init configures hostname, SSH keys, packages, and services on first boot. Destroying and re-creating the VM from Terraform state produces an identical result — the key property for reproducible homelab infrastructure.
bpg/proxmox sits in the Assess ring of the Tools quadrant, at inner position. First studied via Terraform Registry (2024-09-01). This is the only actively maintained community Terraform provider for Proxmox VE — the de facto standard for homelab IaC on the most popular self-hosted hypervisor. Inner position reflects direct applicability to any Proxmox-based homelab alongside the Homelab Terraform + Cloud-Init technique already on the radar. Remaining gate before Trial is a completed Terraform apply creating at least one VM from a template with cloud-init configuration verified, and a successful destroy-and-recreate cycle confirming reproducibility.