# provider "proxmox" { # endpoint = var.proxmox_endpoint # api_token = var.proxmox_api_token # insecure = true # } locals { cluster_name = "k8s-wheatley" kubernetes_version = "1.34.1" talos_version = "1.11.3" ipv4_gateway = "10.13.38.1" cluster_endpoint_ip = "10.13.38.20" controlplanes = { cpu = 4 memory = 4 disk = 40 storagepool = "nvme-fastpool" talos_version = local.talos_version cluster_name = local.cluster_name kubernetes_version = local.kubernetes_version ipv4_gateway = local.ipv4_gateway nodes = [ { name = "cp01" ip_address = "10.13.38.21" mac_address = "BC:24:11:11:9D:71" }, # { # name = "cp02" # ip_address = "10.13.38.22" # mac_address = "BC:24:11:11:9D:72" # }, # { # name = "cp03" # ip_address = "10.13.38.23" # mac_address = "BC:24:11:11:9D:73" ] } # workers = { # cpu = 4 # memory = 4 # disk = "40G" # storagepool = "nvme-fastpool" # talos_version = local.talos_version # cluster_name = local.cluster_name # kubernetes_version = local.kubernetes_version # nodes = [ # { # name = "worker01" # ip_address = "10.13.38.20" # }, # { # name = "worker02" # ip_address = "10.13.38.21" # }, # { # name = "worker03" # ip_address = "10.13.38.22" # }] # } } module "talos-image" { source = "./modules/talos-image" talos_version = local.talos_version } # module "controlplanes" { # depends_on = [module.talos-image] # # source = "./modules/controlplane" # for_each = { for node in local.controlplanes.nodes : node.name => node } # # controlplane = { # cpu = local.controlplanes.cpu # memory = local.controlplanes.memory # disk = local.controlplanes.disk # storagepool = local.controlplanes.storagepool # talos_version = local.talos_version # cluster_name = local.cluster_name # kubernetes_version = local.kubernetes_version # node_name = format("k8s-wheatley-%s", each.value.name) # node_ipv4_address = each.value.ip_address # cluster_endpoint = format("https://%s:6443", local.cluster_endpoint_ip) # ipv4_gateway = local.ipv4_gateway # mac_address = each.value.mac_address # } # } # module "workers" { # source = "./modules/worker" # for_each = { for node in local.workers.nodes : node.name => node } # # workers = { # cpu = local.workers.cpu # memory = local.workers.memory # disk = local.workers.disk # storagepool = local.workers.storagepool # talos_version = local.talos_version # cluster_name = local.cluster_name # kubernetes_version = local.kubernetes_version # node_name = format("k8s-wheatley-%s", each.value.name) # node_ipv4_address = each.value.ip_address # } # }