From 23922649b6ba2c5dcece31f6ad0044e2004668ee Mon Sep 17 00:00:00 2001 From: unkinben Date: Sun, 2 Aug 2026 21:47:48 +1000 Subject: [PATCH] Fix DHCP sample gateways and lowercase PXE client-class names Two sample bugs surfaced while authoring the argocd deployment. - set subnet gateways to match the authoritative puppet hieradata: 198.18.13-16 routers are .254 (not .1); 198.18.17 stays .1 - rename KeaClientClass samples Legacy/UEFI-64 to legacy/uefi-64 so they are valid RFC1123 object names (the operator renders the kea class name from metadata.name, which k8s forces to lowercase); align the README Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT --- README.md | 2 +- config/samples/01-subnets.yaml | 8 ++++---- config/samples/02-clientclasses.yaml | 7 ++++--- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d96dd6f..6c0a1bf 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Namespace: `dhcp-system`. API group: `kea.unkin.net/v1alpha1`. |------|---------| | **KeaCluster** | Spawns a StatefulSet of `kea-dhcp4` + `kea-ctrl-agent` pods, an HA control channel, and an anycast DHCP `Service`. Holds global config (domain, lease times, NTP, PXE option-defs). | | **KeaSubnet** | One DHCPv4 subnet referenced to a KeaCluster (`clusterRef`). CIDR, optional pools, routers, DNS, domain, next-server. Pool-less subnets are declared so relayed requests are still serviced. | -| **KeaClientClass** | PXE boot class matched on client architecture (option 93), e.g. `Legacy` → `/undionly.kpxe`, `UEFI-64` → `/ipxe.efi`. | +| **KeaClientClass** | PXE boot class matched on client architecture (option 93), e.g. `legacy` → `/undionly.kpxe`, `uefi-64` → `/ipxe.efi`. | | **KeaAPI** | Spawns the Terraform-friendly REST API service (see below). | The **KeaCluster** controller lists the matching subnets and client classes, diff --git a/config/samples/01-subnets.yaml b/config/samples/01-subnets.yaml index 69677e0..40f70be 100644 --- a/config/samples/01-subnets.yaml +++ b/config/samples/01-subnets.yaml @@ -10,7 +10,7 @@ spec: subnet: 198.18.13.0/24 pools: - 198.18.13.200 - 198.18.13.220 - routers: [198.18.13.1] + routers: [198.18.13.254] dnsServers: [198.18.19.15] domainName: main.unkin.net nextServer: 198.18.19.19 @@ -25,7 +25,7 @@ spec: subnet: 198.18.14.0/24 pools: - 198.18.14.200 - 198.18.14.220 - routers: [198.18.14.1] + routers: [198.18.14.254] dnsServers: [198.18.19.15] domainName: main.unkin.net nextServer: 198.18.19.19 @@ -40,7 +40,7 @@ spec: subnet: 198.18.15.0/24 pools: - 198.18.15.200 - 198.18.15.220 - routers: [198.18.15.1] + routers: [198.18.15.254] dnsServers: [198.18.19.15] domainName: main.unkin.net nextServer: 198.18.19.19 @@ -55,7 +55,7 @@ spec: subnet: 198.18.16.0/24 pools: - 198.18.16.200 - 198.18.16.220 - routers: [198.18.16.1] + routers: [198.18.16.254] dnsServers: [198.18.19.15] domainName: main.unkin.net nextServer: 198.18.19.19 diff --git a/config/samples/02-clientclasses.yaml b/config/samples/02-clientclasses.yaml index b6ed1b9..f67bbac 100644 --- a/config/samples/02-clientclasses.yaml +++ b/config/samples/02-clientclasses.yaml @@ -1,9 +1,10 @@ # PXE boot classes matching the client architecture option (code 93), replacing -# the legacy dhcpd "Legacy" and "UEFI-64" classes. +# the legacy dhcpd "Legacy" and "UEFI-64" classes. Object names must be RFC1123 +# (lowercase); the operator renders the kea client-class name from metadata.name. apiVersion: kea.unkin.net/v1alpha1 kind: KeaClientClass metadata: - name: Legacy + name: legacy namespace: dhcp-system spec: clusterRef: pxe @@ -13,7 +14,7 @@ spec: apiVersion: kea.unkin.net/v1alpha1 kind: KeaClientClass metadata: - name: UEFI-64 + name: uefi-64 namespace: dhcp-system spec: clusterRef: pxe -- 2.47.3