Загрузка данных


terraform {
  required_providers {
    proxmox = {
      source  = "bpg/proxmox"
      version = "0.89.1"
    }
    freeipa = {
      source  = "camptocamp/freeipa"
      version = "1.0.0"
    }
  }
}

variable "pm_api_token" {}
variable "ipa_password" {}

provider "proxmox" {
  endpoint  = "https://192.168.0"
  api_token = var.pm_api_token
  insecure  = true
}

provider "freeipa" {
  host     = "ipa.au-team.cloud"
  username = "admin"
  password = var.ipa_password
}

# 1. Исправлено имя ресурса: proxmox_vm_qemu (в 0.89.1 используется именно оно)
resource "proxmox_vm_qemu" "k8s_srv" {
  count     = 5
  name      = "k8s-srv${count.index + 1}"
  target_node = "dc"

  clone = "alt-p11-cloud-template" # bpg часто просит имя шаблона или ID через clone

  cores   = 2
  memory  = 2048

  # Настройка сети и Cloud-Init
  os_type = "cloud-init"
  ipconfig0 = "ip=192.168.0.${201 + count.index}/24,gw=192.168.0.254"
  ciuser    = "altlinux"
  cipassword = "P@ssw0rd"

  network {
    model  = "virtio"
    bridge = "cloudzon"
  }

  disk {
    type    = "virtio"
    storage = "storage"
    size    = "20G"
  }
}

# 2. Исправлены аргументы FreeIPA (имена полей согласно ошибке)
resource "freeipa_dns_record" "k8s_dns_a" {
  count           = 5
  dnszoneidnsname = "au-team.cloud"               # вместо zone
  idnsname        = "k8s-srv${count.index + 1}"    # вместо name
  arecord         = ["192.168.0.${201 + count.index}"]
}

resource "freeipa_dns_record" "k8s_dns_ptr" {
  count           = 5
  dnszoneidnsname = "0.168.192.in-addr.arpa"      # вместо zone
  idnsname        = "${201 + count.index}"        # вместо name
  ptrrecord       = ["k8s-srv${count.index + 1}.au-team.cloud."]
}