terraform { required_version = ">= 1.6.0" required_providers { proxmox = { source = "telmate/proxmox" version = "3.0.2-rc05" } 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 thinkpad resource "proxmox_vm_qemu" "etcd_witness" { vmid = 1002 name = "etcd-witness" target_node = "thinkpad" clone = var.ubuntu_template full_clone = true cpu { 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 { id = 0 model = "virtio" bridge = var.k3s_network_bridge } disk { slot = "scsi0" size = var.etcd_witness_config.disk_size type = "disk" storage = var.etcd_witness_storage_pool iothread = true } 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] }