terraform { required_providers { # Мы говорим: "В этом коде имя proxmox означает провайдер bpg" proxmox = { source = "bpg/proxmox" version = "0.70.0" } } backend "http" {} } provider "proxmox" { # Указываем, что этот блок настроек относится к провайдеру bpg endpoint = var.proxmox_api_url api_token = "${var.proxmox_api_token_id}=${var.proxmox_api_token_secret}" insecure = true ssh { agent = false } } resource "proxmox_virtual_machine" "k8s_nodes" { for_each = var.vm_nodes node_name = "pve" # Убедись, что в Proxmox нода называется именно pve name = each.value.name vm_id = each.value.id # Клонируем шаблон, который ты сделал из Cloud-Image (ID 9000) clone { vm_id = 9000 } cpu { cores = 2 type = "host" } memory { dedicated = 4096 } network_device { bridge = "vmbr0" } disk { datastore_id = "local-lvm" interface = "scsi0" size = 20 } initialization { ip_config { ipv4 { address = "${each.value.ip}/24" gateway = "10.33.33.1" } } user_account { username = "ubuntu" # Сюда вставь свой публичный ключ keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPkMcT6PGm4xwBlwwwLkzdzTF/pgtADIcdejf5xALbxQ semaphore-gitea-key"] } } }