Homelab/terraform/pve3/main.tf
Tellsanguis a7b03c12ff fix(terraform): Mise à jour syntaxe disque pour provider Proxmox v2.9
Changed from nested `disks` block (v3.0 syntax) to flat `disk` block
(v2.9 syntax):
- disks { scsi { scsi0 { disk {...} } } } → disk { slot = 0, ... }
- Added explicit slot, type, and iothread parameters
- Maintains same functionality with v2.9-compatible syntax
2025-11-07 11:20:07 +01:00

60 lines
1.3 KiB
HCL

terraform {
required_version = ">= 1.6.0"
required_providers {
proxmox = {
source = "telmate/proxmox"
version = "~> 2.9"
}
local = {
source = "hashicorp/local"
version = "~> 2.1"
}
}
}
provider "proxmox" {
pm_api_url = var.proxmox_api_url
pm_api_token_id = var.proxmox_token_id
pm_api_token_secret = var.proxmox_token_secret
pm_tls_insecure = var.proxmox_tls_insecure
}
# etcd Witness VM on pve3
resource "proxmox_vm_qemu" "etcd_witness" {
name = "etcd-witness"
target_node = "pve3"
clone = var.ubuntu_template
cores = var.etcd_witness_config.cores
sockets = 1
memory = var.etcd_witness_config.memory
agent = 1
boot = "order=scsi0"
scsihw = "virtio-scsi-single"
onboot = true
network {
model = "virtio"
bridge = var.k3s_network_bridge
}
disk {
slot = 0
size = var.etcd_witness_config.disk_size
type = "scsi"
storage = var.storage_pool
iothread = 1
}
ipconfig0 = "ip=${var.etcd_witness_config.ip},gw=${var.k3s_gateway}"
cicustom = "user=${var.snippets_storage}:snippets/cloud-init-etcd-witness.yaml"
nameserver = join(" ", var.k3s_dns)
lifecycle {
ignore_changes = [network]
}
depends_on = [local_file.etcd_witness_cloud_init]
}