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."]
}