From 5ee011428150e15a5373d7f30c92aa771a899fee Mon Sep 17 00:00:00 2001 From: Chewbaccalakis Date: Tue, 22 Sep 2026 10:01:58 +0000 Subject: [PATCH] Give the technitium LXC a second NIC on the atlashorizon VLAN Technitium now serves and resolves on 192.168.7.2 as well as its 192.168.0.2 address. The interface was added by hand out of band; this brings it under management so the next apply does not remove it. Adopts the module's new nic2 object in place of the VM-only ip2 string. The submodule bump is a single ref, so it also carries in the Flatcar module support that the next commit starts using. Co-Authored-By: Claude Opus 5 --- opentofu | 2 +- terraform.tfvars | 8 ++++++++ vars.tf | 20 ++++++++++++++++---- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/opentofu b/opentofu index aabd383..c1e428b 160000 --- a/opentofu +++ b/opentofu @@ -1 +1 @@ -Subproject commit aabd3838f73e8a6d9f338ffab04f7704dc719a42 +Subproject commit c1e428b2006f5f9e132ce0c28823424bb9ba2ced diff --git a/terraform.tfvars b/terraform.tfvars index 4223690..b40bd4e 100644 --- a/terraform.tfvars +++ b/terraform.tfvars @@ -145,6 +145,14 @@ nodes = { bridge = "vmbr0" ip = "192.168.0.2/24" gw = "192.168.0.1" + # Manually added out-of-band so Technitium can also serve/resolve on + # the atlashorizon VLAN; brought under management here to match. + nic2 = { + nic_name = "eth1" + bridge = "vmbr0" + vlan = 7 + ip = "192.168.7.2/24" + } } } machines = { diff --git a/vars.tf b/vars.tf index 8b301b2..8bf1418 100644 --- a/vars.tf +++ b/vars.tf @@ -59,9 +59,9 @@ variable "dns_records" { description = "Manually managed DNS records. Each targets a zone by name (the search_domain zone or one from dns_zones). A record in the search_domain zone whose name matches an auto-added host replaces that host record instead of conflicting with it." type = list(object({ zone = string - name = string # subdomain label, or "@" for the zone apex - type = string # A, AAAA, CNAME, NS, TXT, MX - value = string # IP / target / text / mail exchanger + name = string # subdomain label, or "@" for the zone apex + type = string # A, AAAA, CNAME, NS, TXT, MX + value = string # IP / target / text / mail exchanger ttl = optional(number) priority = optional(number) # required for MX records })) @@ -126,12 +126,18 @@ variable "nodes" { ip = string nameserver = optional(string) gw = string + nic2 = optional(object({ + nic_name = optional(string, "eth1") + bridge = optional(string, "vmbr0") + vlan = optional(number) + ip = string + gw = optional(string) + })) })), {}) machines = optional(map(object({ hostname = string vmid = number ip = string - ip2 = optional(string, null) vlan = optional(number, 0) template = string full_clone = bool @@ -149,6 +155,12 @@ variable "nodes" { bios = string machine = string bridge = string + nic2 = optional(object({ + bridge = optional(string, "vmbr0") + vlan = optional(number) + ip = string + gw = optional(string) + })) })), {}) })) default = {}