40 lines
918 B
HCL
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}"
|
|
}
|
|
}
|
|
|
|
|