From 209df7558ec60105569f942080b0daf9064ccbed Mon Sep 17 00:00:00 2001 From: Story Crater Bot <19826264+Riotpiaole@users.noreply.github.com> Date: Mon, 10 Aug 2026 22:05:53 -0700 Subject: [PATCH] fix(terraform): parameterize worker network interface, use nvme diskSelector instead of raw path, add configurable swap partition support --- terraform/main.tf | 2 ++ terraform/templates/worker.tftpl | 19 +++++++++++++++++-- terraform/tfplan-rename | Bin 0 -> 39836 bytes terraform/variables.tf | 18 ++++++++++-------- 4 files changed, 29 insertions(+), 10 deletions(-) create mode 100644 terraform/tfplan-rename diff --git a/terraform/main.tf b/terraform/main.tf index 1f9f39d..51339e8 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -89,6 +89,7 @@ resource "local_file" "worker_configs" { lan_ip = each.value.lan_ip lan_subnet = each.value.lan_subnet lan_gateway = each.value.lan_gateway + network_interface = each.value.network_interface kubelet_image = local.kubelet_image cluster_dns_ip = local.cluster_dns_ip install_disk = each.value.install_disk @@ -100,6 +101,7 @@ resource "local_file" "worker_configs" { zone = each.value.zone gpu_count = each.value.gpu_count extra_disks = each.value.extra_disks + swap_size = each.value.swap_size # Cluster config cluster_id = var.cluster_id diff --git a/terraform/templates/worker.tftpl b/terraform/templates/worker.tftpl index 5be6c95..323a826 100644 --- a/terraform/templates/worker.tftpl +++ b/terraform/templates/worker.tftpl @@ -12,7 +12,7 @@ machine: network: hostname: ${hostname} interfaces: - - interface: eno1 + - interface: ${network_interface} addresses: - ${lan_ip}/24 routes: @@ -37,11 +37,15 @@ machine: - ${cluster_dns_ip} extraArgs: rotate-server-certificates: true + extraConfig: + memorySwap: + swapBehavior: LimitedSwap nodeIP: validSubnets: - 192.168.1.0/24 install: - disk: ${install_disk} + diskSelector: + match: disk.transport == "nvme" image: ${factory_image} wipe: true grubUseUKICmdline: true @@ -93,3 +97,14 @@ cluster: kubernetes: disabled: true service: {} +%{ if swap_size != "" ~} +--- +apiVersion: v1alpha1 +kind: SwapVolumeConfig +name: swap1 +provisioning: + diskSelector: + match: disk.transport == "nvme" + minSize: ${swap_size} + maxSize: ${swap_size} +%{ endif ~} diff --git a/terraform/tfplan-rename b/terraform/tfplan-rename new file mode 100644 index 0000000000000000000000000000000000000000..d10b71b4e49db30ac310c6b7c898b94560518b51 GIT binary patch literal 39836 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 m=5f@Ov~13Eo8lGWs+~yQ3I~ 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