Files
private-ai-platform/terraform/stacks/proxmox/vm/main.tf
Hrankin, Aleksandr (contracted) f243f440c3 init
2026-02-19 11:34:13 +00:00

42 lines
1.1 KiB
HCL

# 1) Для каждой VM создаём snippet user-data (cloud-init)
resource "proxmox_virtual_environment_file" "user_data" {
for_each = local.vms
content_type = "snippets"
datastore_id = var.snippets_storage
node_name = var.target_node
source_raw {
data = templatefile("${path.module}/cloud-init/user-data.yaml.tpl", {
hostname = each.value.name
})
file_name = "user-data-${each.value.name}.yaml"
}
}
# 2) Создаём VM-ки и подцепляем user-data файл
module "vm" {
source = "../../../modules/proxmox/vm"
for_each = local.vms
name = each.value.name
target_node = var.target_node
template_id = var.template_id
cpu = each.value.cpu
cpu_type = try(each.value.cpu_type, "qemu64")
memory = each.value.memory
disk_size = each.value.disk_size
storage = var.storage
bridge = var.bridge
osd_storage = try(each.value.osd_storage, null)
osd_disks = try(each.value.osd_disks, [])
user_data_file_id = proxmox_virtual_environment_file.user_data[each.key].id
mac_address = each.value.mac
}