homelab/terraform/providers.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

38 lines
868 B
HCL

# ===========================================
# PROVIDERS
# ===========================================
terraform {
required_version = ">= 1.10.0"
required_providers {
proxmox = {
source = "telmate/proxmox"
version = "~> 3.0.0"
}
}
# State remoto no Terraform Cloud
cloud {
organization = "homelab_terraform"
workspaces {
name = "homelab"
}
}
}
# Provider Proxmox
provider "proxmox" {
# Conexão via SSH (mesma chave que já funciona do Hestia → Proxmox)
# Não armazenamos senha em texto — usamos agente SSH local
ssh_username = "root"
ssh_agent = true
insecure = false
# API Proxmox (fallback se SSH não funcionar)
pm_api_url = "https://10.0.0.20:8006/api2/json"
pm_api_token_id = var.proxmox_api_token_id
pm_api_token_secret = var.proxmox_api_token_secret
}