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..b5afd54 --- /dev/null +++ b/apps/base/ns-auth/kustomization.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - namespace.yaml + - tsigkey.yaml + - cluster.yaml + - zones.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/base/ns-auth/zones.yaml b/apps/base/ns-auth/zones.yaml new file mode 100644 index 0000000..c738f2c --- /dev/null +++ b/apps/base/ns-auth/zones.yaml @@ -0,0 +1,204 @@ +# Authoritative zones migrated from puppet-prod +# (profiles::dns::master::zones in hieradata/roles/infra/dns/master.yaml). +# type primary, static (puppet dynamic:false); TTL 600 as in the puppet zone header. +# Record data is populated by PuppetDB exported resources upstream, so it is +# NOT in this repo — migrate it into these zones (AXFR from the current masters, +# or DNSRecord CRs) as a follow-up. The zones start with SOA+NS only. +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: unkin-net + namespace: ns-auth +spec: + clusterRef: auth + zoneName: unkin.net + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: main-unkin-net + namespace: ns-auth +spec: + clusterRef: auth + zoneName: main.unkin.net + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 13-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 13.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 14-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 14.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 15-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 15.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 16-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 16.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 17-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 17.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 19-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 19.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 20-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 20.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 21-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 21.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 22-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 22.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 23-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 23.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 24-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 24.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 25-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 25.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 26-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 26.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 27-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 27.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 28-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 28.18.198.in-addr.arpa + type: primary + defaultTTL: 600 +--- +apiVersion: bind.unkin.net/v1alpha1 +kind: BindZone +metadata: + name: 29-18-198-in-addr-arpa + namespace: ns-auth +spec: + clusterRef: auth + zoneName: 29.18.198.in-addr.arpa + type: primary + defaultTTL: 600 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