feat: refactor infra to cp/wk kubeadm topology
Some checks failed
Terraform Plan / Terraform Plan (push) Failing after 9s

Provision 3 thin control planes and 3 workers with role-specific sizing and VMID ranges (701/711), generate per-node cloud-init snippets with SSH key injection, and add NixOS kubeadm host/module scaffolding for cp-1..3 and wk-1..3.
This commit is contained in:
2026-02-28 14:16:55 +00:00
parent c516c8ba35
commit 21be01346b
19 changed files with 348 additions and 62 deletions

View File

@@ -16,10 +16,10 @@ provider "proxmox" {
pm_tls_insecure = true
}
resource "proxmox_vm_qemu" "alpacas" {
count = var.alpaca_vm_count
name = "alpaca-${count.index + 1}"
vmid = 500 + count.index + 1
resource "proxmox_vm_qemu" "control_planes" {
count = var.control_plane_count
name = "cp-${count.index + 1}"
vmid = var.control_plane_vmid_start + count.index
target_node = var.target_node
clone = var.clone_template
full_clone = true
@@ -27,22 +27,22 @@ resource "proxmox_vm_qemu" "alpacas" {
agent = 1
cpu {
sockets = var.sockets
cores = var.cores
sockets = 1
cores = var.control_plane_cores
}
memory = var.memory
memory = var.control_plane_memory_mb
scsihw = "virtio-scsi-pci"
boot = "order=scsi0"
bootdisk = "scsi0"
ipconfig0 = "ip=dhcp"
cicustom = "user=local:snippets/cloud_init_global.yaml"
cicustom = "user=local:snippets/cp-${count.index + 1}.yaml"
disks {
scsi {
scsi0 {
disk {
size = var.disk_size
size = var.control_plane_disk_size
storage = var.storage
}
}
@@ -65,10 +65,10 @@ resource "proxmox_vm_qemu" "alpacas" {
}
resource "proxmox_vm_qemu" "llamas" {
count = var.llama_vm_count
name = "llama-${count.index + 1}"
vmid = 600 + count.index + 1
resource "proxmox_vm_qemu" "workers" {
count = var.worker_count
name = "wk-${count.index + 1}"
vmid = var.worker_vmid_start + count.index
target_node = var.target_node
clone = var.clone_template
full_clone = true
@@ -76,21 +76,21 @@ resource "proxmox_vm_qemu" "llamas" {
agent = 1
cpu {
sockets = var.sockets
cores = var.cores
sockets = 1
cores = var.worker_cores[count.index]
}
memory = var.memory
memory = var.worker_memory_mb[count.index]
scsihw = "virtio-scsi-pci"
boot = "order=scsi0"
bootdisk = "scsi0"
ipconfig0 = "ip=dhcp"
cicustom = "user=local:snippets/cloud_init_global.yaml"
cicustom = "user=local:snippets/wk-${count.index + 1}.yaml"
disks {
scsi {
scsi0 {
disk {
size = var.disk_size
size = var.worker_disk_size
storage = var.storage
}
}