53090d1798
Replaces the isc-dhcpd PXE-boot VM with the kea-operator (v0.1.0) and an HA kea pair, managed by ArgoCD. Deploys on a new, unused anycast IP; the production cutover off the current dhcpd address is a separate later task. - Add apps/base/dhcp-system: namespace, kea-operator RBAC + Deployment, VPA, and the kea.unkin.net CRDs pulled from the operator repo at v0.1.0. - Add the CRs translating the legacy dhcpd config: KeaCluster (2 replicas, hot-standby HA, main.unkin.net, 1200/86400 leases, AU ntp pool), five KeaSubnets 198.18.13-17.0/24 (gateways .254 except .17->.1 per the puppet dhcp hieradata), Legacy/UEFI-64 PXE client classes, and the KeaAPI. - Pin the DHCP LoadBalancer Service to the free common-pool IP 198.18.200.10 via PureLB (not the current dhcpd anycast 198.18.19.18). - Provision the KeaAPI bearer token via an operator-generated Secret. - Commit generated kea.unkin.net JSON schemas for kubeconform. - Register dhcp-system in the platform ApplicationSet and AppProject. Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
90 lines
2.0 KiB
YAML
90 lines
2.0 KiB
YAML
# Translation of the legacy ISC dhcpd pools (puppet
|
|
# roles/infra/dhcp/server.yaml): 198.18.13-17.0/24, each a .200-.220 pool,
|
|
# dns 198.18.19.15, next-server 198.18.19.19. Gateways per the original config:
|
|
# .13/.14/.15/.16 -> .254, .17 -> .1.
|
|
---
|
|
apiVersion: kea.unkin.net/v1alpha1
|
|
kind: KeaSubnet
|
|
metadata:
|
|
name: net-198-18-13
|
|
namespace: dhcp-system
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "1"
|
|
spec:
|
|
clusterRef: kea
|
|
subnet: 198.18.13.0/24
|
|
pools:
|
|
- 198.18.13.200 - 198.18.13.220
|
|
routers: [198.18.13.254]
|
|
dnsServers: [198.18.19.15]
|
|
domainName: main.unkin.net
|
|
nextServer: 198.18.19.19
|
|
---
|
|
apiVersion: kea.unkin.net/v1alpha1
|
|
kind: KeaSubnet
|
|
metadata:
|
|
name: net-198-18-14
|
|
namespace: dhcp-system
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "1"
|
|
spec:
|
|
clusterRef: kea
|
|
subnet: 198.18.14.0/24
|
|
pools:
|
|
- 198.18.14.200 - 198.18.14.220
|
|
routers: [198.18.14.254]
|
|
dnsServers: [198.18.19.15]
|
|
domainName: main.unkin.net
|
|
nextServer: 198.18.19.19
|
|
---
|
|
apiVersion: kea.unkin.net/v1alpha1
|
|
kind: KeaSubnet
|
|
metadata:
|
|
name: net-198-18-15
|
|
namespace: dhcp-system
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "1"
|
|
spec:
|
|
clusterRef: kea
|
|
subnet: 198.18.15.0/24
|
|
pools:
|
|
- 198.18.15.200 - 198.18.15.220
|
|
routers: [198.18.15.254]
|
|
dnsServers: [198.18.19.15]
|
|
domainName: main.unkin.net
|
|
nextServer: 198.18.19.19
|
|
---
|
|
apiVersion: kea.unkin.net/v1alpha1
|
|
kind: KeaSubnet
|
|
metadata:
|
|
name: net-198-18-16
|
|
namespace: dhcp-system
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "1"
|
|
spec:
|
|
clusterRef: kea
|
|
subnet: 198.18.16.0/24
|
|
pools:
|
|
- 198.18.16.200 - 198.18.16.220
|
|
routers: [198.18.16.254]
|
|
dnsServers: [198.18.19.15]
|
|
domainName: main.unkin.net
|
|
nextServer: 198.18.19.19
|
|
---
|
|
apiVersion: kea.unkin.net/v1alpha1
|
|
kind: KeaSubnet
|
|
metadata:
|
|
name: net-198-18-17
|
|
namespace: dhcp-system
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "1"
|
|
spec:
|
|
clusterRef: kea
|
|
subnet: 198.18.17.0/24
|
|
pools:
|
|
- 198.18.17.200 - 198.18.17.220
|
|
routers: [198.18.17.1]
|
|
dnsServers: [198.18.19.15]
|
|
domainName: main.unkin.net
|
|
nextServer: 198.18.19.19
|