homelab/terraform/resources.tf
gaia e204876f61 feat: terraform foundation — providers, resources, imports
Terraform Cloud workspace criado via API (homelab_terraform/homelab)

Estrutura inicial:
- providers.tf: Proxmox provider (SSH + API token) + TF Cloud backend
- variables.tf: vars sensíveis (token API do Proxmox)
- resources.tf: 3 VMs QEMU (homeassistant:100, dockerino:102, media:103)
- imports.tf: data sources para ler estado sem modificar
- terraform.tfvars.example: template de configuração
- .gitignore: ignora .tfrc (contém token TF Cloud)

VMs descobertas via qm list:
  VMID 100 | homeassistant | 4GB RAM | 32GB disk
  VMID 102 | dockerino     | 10GB RAM | 74GB disk
  VMID 103 | media         | 16GB RAM | 64GB disk

Próximo passo: terraform import de cada VM + terraform plan para
verificar que o estado importado está correto.
2026-04-09 17:43:33 -03:00

106 lines
2.1 KiB
HCL

# ===========================================
# PROXMOX VMs — Definições reais (importadas)
#
# IMPORTANTE: Estes recursos representam o estado ATUAL.
# O import lê o estado existente. Qualquer mudança futura
# só deve ser feita via terraform plan → aprovação → apply.
#
# VMs descobertas via `qm list`:
# VMID 100 | homeassistant | 4GB RAM | 32GB disk | running
# VMID 102 | dockerino | 10GB RAM | 74GB disk | running
# VMID 103 | media | 16GB RAM | 64GB disk | running
# ===========================================
# ===========================================
# HOMEASSISTANT — VM QEMU (VMID 100)
# ===========================================
resource "proxmox_vm_qemu" "homeassistant" {
name = "homeassistant"
vm_id = 100
target_node = "pve"
# Recursos
cores = 4
memory = 4096
os_type = "qubes"
boot_order = "scsi0"
agent = 1
# Disco
disk {
file = "scsi0"
storage = "local-lvm"
size = "32G"
type = "scsi"
}
# Rede
network {
model = "virtio"
bridge = "vmbr0"
}
}
# ===========================================
# DOCKERINO — VM QEMU (VMID 102)
# ===========================================
resource "proxmox_vm_qemu" "dockerino" {
name = "dockerino"
vm_id = 102
target_node = "pve"
# Recursos
cores = 4
memory = 10240
os_type = "l26" # Linux 2.6+ (Debian)
boot_order = "scsi0"
agent = 1
# Disco
disk {
file = "scsi0"
storage = "local-lvm"
size = "74G"
type = "scsi"
}
# Rede
network {
model = "virtio"
bridge = "vmbr0"
}
}
# ===========================================
# MEDIA — VM QEMU (VMID 103)
# ===========================================
resource "proxmox_vm_qemu" "media" {
name = "media"
vm_id = 103
target_node = "pve"
# Recursos
cores = 4
memory = 16384
os_type = "l26"
boot_order = "scsi0"
agent = 1
# Disco
disk {
file = "scsi0"
storage = "local-lvm"
size = "64G"
type = "scsi"
}
# Rede
network {
model = "virtio"
bridge = "vmbr0"
}
}