From 05d4287d0526ef8004575accd41f75f8cfdf41dd Mon Sep 17 00:00:00 2001 From: Chris Cowley Date: Wed, 16 Apr 2025 11:47:40 +0200 Subject: [PATCH] Add k3s nucs to KEA and DNS --- non-lab/dns.tf | 20 ++++++++++++++++++ non-lab/kea.tf | 16 +++++++++++++++ non-lab/terraform.tfvars | 44 ++++++++++++++++++++++++++++++++++++++++ non-lab/variables.tf | 15 +++++++++++++- 4 files changed, 94 insertions(+), 1 deletion(-) diff --git a/non-lab/dns.tf b/non-lab/dns.tf index a963926..ff8a334 100644 --- a/non-lab/dns.tf +++ b/non-lab/dns.tf @@ -10,3 +10,23 @@ resource "opnsense_unbound_host_override" "esphome" { domain = "home.cowley.tech" server = each.value.address } + +resource "opnsense_unbound_host_override" "physical_home" { + for_each = { for i, v in var.physical_home : i => v } + + enabled = true + description = each.value.name + hostname = each.value.name + domain = "home.cowley.tech" + server = each.value.address +} + +resource "opnsense_unbound_host_override" "physical_lab" { + for_each = { for i, v in var.physical_lab : i => v } + + enabled = true + description = each.value.name + hostname = each.value.name + domain = "lab.cowley.tech" + server = each.value.address +} diff --git a/non-lab/kea.tf b/non-lab/kea.tf index 1b5f9bc..a1c4513 100644 --- a/non-lab/kea.tf +++ b/non-lab/kea.tf @@ -13,3 +13,19 @@ resource "opnsense_kea_reservation" "esphome" { mac_address = each.value.mac description = "Lease for ${each.value.name}" } +resource "opnsense_kea_reservation" "physical_home" { + for_each = { for i, v in var.physical_home : i => v } + + subnet_id = opnsense_kea_subnet.subnets["home"].id + ip_address = each.value.address + mac_address = each.value.mac + description = "Lease for ${each.value.name}" +} +resource "opnsense_kea_reservation" "physical_lab" { + for_each = { for i, v in var.physical_lab : i => v } + + subnet_id = opnsense_kea_subnet.subnets["lab"].id + ip_address = each.value.address + mac_address = each.value.mac + description = "Static IP for ${each.value.name}" +} diff --git a/non-lab/terraform.tfvars b/non-lab/terraform.tfvars index 3f58f4f..7dc89d9 100644 --- a/non-lab/terraform.tfvars +++ b/non-lab/terraform.tfvars @@ -1,3 +1,47 @@ +physical_lab = [ + { + name = "kubemaster0" + address = "192.168.6.5" + mac = "c0:3f:d5:6a:02:a3" + }, + { + name = "agent0" + address = "192.168.6.58" + mac = "c0:3f:d5:63:7b:3c" + }, + { + name = "agent1" + address = "192.168.6.60" + mac = "b8:ae:ed:7f:bc:45" + }, + { + name = "agent2" + address = "192.168.6.61" + mac = "c0:3f:d5:66:ba:79" + }, +] +physical_home = [ + { + name = "kodi" + address = "192.168.5.139" + mac = "2c:cf:67:77:69:85" + }, + { + name = "zigbee" + address = "192.168.5.123" + mac = "b8:27:eb:db:2e:30" + }, + { + name = "hpenvy" + address = "192.168.5.89" + mac = "84:2a:fd:42:6c:ad" + }, + { + name = "brother" + address = "192.168.5.95" + mac = "00:90:4c:c5:12:38" + }, +] esphome_boards = [ { name = "gate" diff --git a/non-lab/variables.tf b/non-lab/variables.tf index a34f377..4dcac01 100644 --- a/non-lab/variables.tf +++ b/non-lab/variables.tf @@ -1,4 +1,17 @@ - +variable "physical_lab" { + type = list(object({ + name = string + address = string + mac = string + })) +} +variable "physical_home" { + type = list(object({ + name = string + address = string + mac = string + })) +} variable "esphome_boards" { type = list(object({ name = string