40 lines
918 B
HCL

locals {
ssh_public_key = var.ssh_key
nodes = var.nodes
# Разделяем ноды по ролям
masters = {
for name, node in local.nodes :
name => node if node.role == "master"
}
workers = {
for name, node in local.nodes :
name => node if node.role == "worker"
}
# IP-адреса
ip_map = {
for name, node in local.nodes :
name => var.cluster_ip_start + node.ip_offset + node.index
}
# VMID: разные диапазоны для master/worker
vmid_map = {
for name, node in local.nodes :
name => (
node.role == "master"
? var.master_vmid_start + node.index
: var.worker_vmid_start + node.index
)
}
# hostname: prefix-role-index (k8s-master-1, k8s-worker-2 и т.п.)
hostname_map = {
for name, node in local.nodes :
name => "${var.hostname_prefix}-${node.role}-${node.index}"
}
}