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.
106 lines
2.1 KiB
HCL
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"
|
|
}
|
|
}
|