Files
argocd-apps/apps/base/ns-externaldns/cluster.yaml
T
unkinben 0f8592cb72
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful
Add k8s external-dns zones from puppet-prod
Migrates the two zones the puppet external-dns instances serve
(externaldns::k8s_zones) as dynamic BindZone CRs on the externaldns
cluster, plus a catalog zone so they replicate to the secondaries.

- add apps/base/ns-externaldns/zones.yaml: k8s.syd1.au.unkin.net and
  200.18.198.in-addr.arpa (primary, dynamicUpdate via externaldns-key)
- add a BindCatalogZone so external-dns writes to the primary replicate
2026-07-03 21:19:36 +10:00

40 lines
1.1 KiB
YAML

---
# external-dns tier (replaces the 3x Puppet external-dns servers). An ordinary
# authoritative cluster; external-dns writes to its zones via RFC2136 because
# those BindZones set dynamicUpdate (allow-update { key externaldns-key; }).
apiVersion: bind.unkin.net/v1alpha1
kind: BindCluster
metadata:
name: externaldns
namespace: ns-externaldns
spec:
mode: authoritative
replicas: 3
storageClassName: cephrbd-fast-delete
storageSize: 1Gi
service:
type: LoadBalancer
annotations:
purelb.io/service-group: common
purelb.io/addresses: 198.18.200.8
external-dns.alpha.kubernetes.io/hostname: ns-externaldns.k8s.syd1.au.unkin.net
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: "1"
memory: 512Mi
---
# Catalog zone so the dynamic zones replicate onto the cluster's secondaries
# (external-dns writes to the primary; secondaries IXFR the result).
apiVersion: bind.unkin.net/v1alpha1
kind: BindCatalogZone
metadata:
name: externaldns-catalog
namespace: ns-externaldns
spec:
clusterRef: externaldns
zoneName: catalog.externaldns.internal
transferKeyRef: externaldns-key