From 3bcb39fe0ace34eb003b8e485b740e81179646a2 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Fri, 3 Jul 2026 20:52:18 +1000 Subject: [PATCH] Deploy ns-auth BIND cluster --- apps/base/ns-auth/cluster.yaml | 37 +++++++++++++++++++ apps/base/ns-auth/kustomization.yaml | 8 ++++ apps/base/ns-auth/namespace.yaml | 5 +++ apps/base/ns-auth/tsigkey.yaml | 10 +++++ .../au-syd1/ns-auth/kustomization.yaml | 6 +++ 5 files changed, 66 insertions(+) create mode 100644 apps/base/ns-auth/cluster.yaml create mode 100644 apps/base/ns-auth/kustomization.yaml create mode 100644 apps/base/ns-auth/namespace.yaml create mode 100644 apps/base/ns-auth/tsigkey.yaml create mode 100644 apps/overlays/au-syd1/ns-auth/kustomization.yaml diff --git a/apps/base/ns-auth/cluster.yaml b/apps/base/ns-auth/cluster.yaml new file mode 100644 index 0000000..0a9b32a --- /dev/null +++ b/apps/base/ns-auth/cluster.yaml @@ -0,0 +1,37 @@ +--- +# Authoritative masters (replaces the 3x Puppet authoritative servers). +# pod-0 is the primary; pods 1-2 replicate via the catalog zone + AXFR/IXFR. +apiVersion: bind.unkin.net/v1alpha1 +kind: BindCluster +metadata: + name: auth + namespace: ns-auth +spec: + mode: authoritative + replicas: 3 + storageClassName: cephrbd-fast-delete + storageSize: 2Gi + service: + type: LoadBalancer + annotations: + purelb.io/service-group: common + purelb.io/addresses: 198.18.200.6 + external-dns.alpha.kubernetes.io/hostname: ns-auth.k8s.syd1.au.unkin.net + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: "1" + memory: 512Mi +--- +# Catalog zone so new BindZones auto-provision onto the secondaries. +apiVersion: bind.unkin.net/v1alpha1 +kind: BindCatalogZone +metadata: + name: auth-catalog + namespace: ns-auth +spec: + clusterRef: auth + zoneName: catalog.internal + transferKeyRef: transfer-key diff --git a/apps/base/ns-auth/kustomization.yaml b/apps/base/ns-auth/kustomization.yaml new file mode 100644 index 0000000..753cb3f --- /dev/null +++ b/apps/base/ns-auth/kustomization.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - namespace.yaml + - tsigkey.yaml + - cluster.yaml diff --git a/apps/base/ns-auth/namespace.yaml b/apps/base/ns-auth/namespace.yaml new file mode 100644 index 0000000..00181bf --- /dev/null +++ b/apps/base/ns-auth/namespace.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: ns-auth diff --git a/apps/base/ns-auth/tsigkey.yaml b/apps/base/ns-auth/tsigkey.yaml new file mode 100644 index 0000000..8fe5309 --- /dev/null +++ b/apps/base/ns-auth/tsigkey.yaml @@ -0,0 +1,10 @@ +--- +# Zone-transfer / catalog key. The operator generates the material into a +# Secret (transfer-key-tsig); nothing sensitive is committed to git. +apiVersion: bind.unkin.net/v1alpha1 +kind: BindTSIGKey +metadata: + name: transfer-key + namespace: ns-auth +spec: + algorithm: hmac-sha256 diff --git a/apps/overlays/au-syd1/ns-auth/kustomization.yaml b/apps/overlays/au-syd1/ns-auth/kustomization.yaml new file mode 100644 index 0000000..e339cb8 --- /dev/null +++ b/apps/overlays/au-syd1/ns-auth/kustomization.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../../base/ns-auth