Fix DHCP sample gateways and lowercase PXE client-class names #2

Merged
benvin merged 1 commits from benvin/fix-samples into main 2026-08-02 21:51:31 +10:00
Owner

Correct two bugs in the deployment samples that were found (and worked around) while authoring the argocd deployment.

  • set subnet gateways to the authoritative puppet hieradata values: 198.18.13/14/15/16.0 route via .254 (not .1); 198.18.17.0 stays .1
  • rename the KeaClientClass samples Legacy/UEFI-64 to legacy/uefi-64 so they are valid RFC1123 Kubernetes object names; the operator renders the kea client-class name straight from metadata.name, which the apiserver forces to lowercase (the uppercase samples were un-appliable). arch hex and boot filenames are unchanged
  • align the README client-class example to the lowercase names

On the validation idea for #2: metadata.name is already RFC1123-validated by the apiserver, so the invalid samples would have been rejected on apply regardless, and kubebuilder/CEL markers cannot be attached to metadata.name on our types. A real guard would be decoupling the kea class name from the object name via an optional spec.className (pattern-validated) field, but that is a feature rather than a trivial marker, so I am listing it as a follow-up issue instead of adding it here.

Samples only; no release tag needed.

Correct two bugs in the deployment samples that were found (and worked around) while authoring the argocd deployment. - set subnet gateways to the authoritative puppet hieradata values: 198.18.13/14/15/16.0 route via `.254` (not `.1`); 198.18.17.0 stays `.1` - rename the KeaClientClass samples `Legacy`/`UEFI-64` to `legacy`/`uefi-64` so they are valid RFC1123 Kubernetes object names; the operator renders the kea client-class name straight from `metadata.name`, which the apiserver forces to lowercase (the uppercase samples were un-appliable). arch hex and boot filenames are unchanged - align the README client-class example to the lowercase names On the validation idea for #2: `metadata.name` is already RFC1123-validated by the apiserver, so the invalid samples would have been rejected on apply regardless, and kubebuilder/CEL markers cannot be attached to `metadata.name` on our types. A real guard would be decoupling the kea class name from the object name via an optional `spec.className` (pattern-validated) field, but that is a feature rather than a trivial marker, so I am listing it as a follow-up issue instead of adding it here. Samples only; no release tag needed.
unkinben added 1 commit 2026-08-02 21:48:00 +10:00
Fix DHCP sample gateways and lowercase PXE client-class names
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
23922649b6
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
benvin merged commit 34783c51fd into main 2026-08-02 21:51:31 +10:00
benvin deleted branch benvin/fix-samples 2026-08-02 21:51:31 +10:00
Sign in to join this conversation.