Automasi Proxmox VE 9 Pakai Terraform: Panduan Lengkap + Full Script Siap Pakai
Kalau kamu pakai Proxmox VE 9 dan mau automasi bikin VM tanpa klik-klik GUI, Terraform adalah jawabannya.
Artikel ini FULL PRAKTIK, bukan teori:
- βοΈ dari install Terraform
- βοΈ setup user & security Proxmox
- βοΈ pilih provider yang BENAR untuk Proxmox VE 9
- βοΈ sampai VM benar-benar jadi
Semua file Terraform ditulis LENGKAP, tinggal copyβpaste & apply π
π¦ 1. Install Terraform CLI
Sebelum mulai, pastikan Terraform CLI sudah terinstall.
π WAJIB ikuti dokumentasi resmi HashiCorp:
https://developer.hashicorp.com/terraform/install
π‘ Pilih sesuai OS kamu (Linux / Windows / macOS).
Cek setelah install:
terraform version
Kalau versi muncul, berarti siap lanjut β
π§± 2. Arsitektur yang Dipakai
Terraform Server
|
|-- API Token
Proxmox VE 9
|
|-- Ubuntu Cloud-Init Template
|-- vmbr1 (SDN)
|-- DHCP
π Terraform tidak SSH ke Proxmox, semua lewat API.
π 3. User & Role Khusus Terraform (Proxmox VE 9)
β Jangan pakai root@pam
Yang benar:
- π€ user:
terraform@pve - π role:
TerraformRole - π API Token khusus
Buat user
pveum user add terraform@pve --comment "Terraform automation"
Buat role (VALID Proxmox VE 9)
pveum role add TerraformRole -privs "
VM.Audit
VM.Allocate
VM.Clone
VM.Migrate
VM.PowerMgmt
VM.Config.CPU
VM.Config.Memory
VM.Config.Disk
VM.Config.Network
VM.Config.Cloudinit
VM.Config.Options
VM.Config.CDROM
VM.Config.HWType
Datastore.Allocate
Datastore.AllocateSpace
Datastore.AllocateTemplate
Datastore.Audit
SDN.Use
Pool.Allocate
Sys.Audit
Sys.Console
Sys.Modify
VM.GuestAgent.Audit
VM.GuestAgent.Unrestricted
"
Assign role ke user
pveum aclmod / -user terraform@pve -role TerraformRole
Buat API Token
pveum user token add terraform@pve tf-token --privsep 0
β οΈ Simpan token secret, cuma muncul sekali.
π 4. Struktur Folder Terraform
proxmox-terraform/
βββ versions.tf
βββ provider.tf
βββ vm.tf
βββ outputs.tf

π§© 5. versions.tf
terraform {
required_version = ">= 1.5.0"
required_providers {
proxmox = {
source = "bpg/proxmox"
version = "~> 0.55"
}
}
}
π 6. provider.tf
provider "proxmox" {
endpoint = "https://IP_PROXMOX:8006/"
api_token = "terraform@pve!tf-token=TOKEN_SECRET"
insecure = true
}
π Format token HARUS:
user@realm!tokenid=tokensecret
π₯οΈ 7. vm.tf (FULL & FINAL)
resource "proxmox_virtual_environment_vm" "vm" {
name = "prod-ubuntu-1"
node_name = "proxmox"
clone {
vm_id = 112
}
cpu {
cores = 2
}
memory {
dedicated = 2048
}
disk {
datastore_id = "local-lvm"
size = 20
interface = "scsi0"
}
network_device {
bridge = "vmbr1"
}
initialization {
ip_config {
ipv4 {
address = "dhcp"
}
}
user_account {
username = "stackops"
keys = [
file("/root/.ssh/id_rsa.pub")
]
}
}
}
π Catatan penting:
vm_id= ID template cloud-init, bukan namavmbr1harus ada & aktif- SSH key wajib ada di server terraform
π€ 8. outputs.tf
output "vm_name" {
value = proxmox_virtual_environment_vm.vm.name
}
βΆοΈ 9. Jalankan Terraform
terraform init
terraform plan
terraform apply
Kalau sukses:
Apply complete! Resources: 1 added


β οΈ Warning QEMU Guest Agent?
Kalau muncul warning Guest Agent:

- β bukan error fatal
- β VM tetap jadi
- βοΈ bisa diabaikan atau dibereskan pakai privilege tambahan
π Kesimpulan
β
Proxmox VE 9 butuh provider Terraform yang tepat
β
bpg/proxmox adalah solusi paling stabil saat ini
β
User & role khusus itu wajib
β
SDN permission sering jadi jebakan
π Dengan setup ini, Proxmox kamu:
- lebih rapi
- lebih aman
- siap automation & scaling
π₯ Tinggal lanjut bikin multi VM, Docker, atau Kubernetes sesuai dengan kebutuhan kita aja heheheπ
Kalau kamu lupa password OpenBSD di VM Proxmox, kamu tidak perlu reinstall. Cukup masuk lewat VNC console dan reset dari…
Panduan ini menjelaskan cara mendapatkan Red Hat Enterprise Linux (RHEL) secara gratis (resmi) menggunakan Developer Subscription, mulai dari download ISO…