Authoritative zones: accept puppet client dynamic updates (#244)
Enables per-host RFC2136 updates from puppet (puppet-prod #475 profiles::dns::updater) to the bind-authoritative zones, via the .9 write endpoint. ## Changes - add **client-update** BindTSIGKey (clusterRef bind-authoritative; operator generates the material into Secret client-update-tsig) - set `dynamicUpdate: true` + `updateKeyRef: client-update` on all **18** authoritative zones → the operator renders `allow-update { key "client-update"; }` ## Key bridge (manual, per the TSIG plan) The operator generates the client-update key value; it must reach puppet eyaml (`profiles::dns::updater::key_secret`) for clients to authenticate — until the planned Vault-sync/secret-reflection operator features exist. Get it with: `kubectl -n bind-internal get secret client-update-tsig -o jsonpath='{.data.secret}' | base64 -d` ## Validated kustomize build + kubeconform. Reviewed-on: #244 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
This commit was merged in pull request #244.
This commit is contained in:
@@ -9,3 +9,16 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
clusterRef: bind-authoritative
|
clusterRef: bind-authoritative
|
||||||
algorithm: hmac-sha256
|
algorithm: hmac-sha256
|
||||||
|
---
|
||||||
|
# Client-update key: puppet clients (profiles::dns::updater) nsupdate their own
|
||||||
|
# records to the authoritative zones with this key. Operator generates the
|
||||||
|
# material into Secret client-update-tsig; the same value must reach puppet
|
||||||
|
# eyaml (or the planned Vault-sync bridge) for clients to authenticate.
|
||||||
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
|
kind: BindTSIGKey
|
||||||
|
metadata:
|
||||||
|
name: client-update
|
||||||
|
namespace: bind-internal
|
||||||
|
spec:
|
||||||
|
clusterRef: bind-authoritative
|
||||||
|
algorithm: hmac-sha256
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ spec:
|
|||||||
zoneName: unkin.net
|
zoneName: unkin.net
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -26,6 +28,8 @@ spec:
|
|||||||
zoneName: main.unkin.net
|
zoneName: main.unkin.net
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -37,6 +41,8 @@ spec:
|
|||||||
zoneName: 13.18.198.in-addr.arpa
|
zoneName: 13.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -48,6 +54,8 @@ spec:
|
|||||||
zoneName: 14.18.198.in-addr.arpa
|
zoneName: 14.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -59,6 +67,8 @@ spec:
|
|||||||
zoneName: 15.18.198.in-addr.arpa
|
zoneName: 15.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -70,6 +80,8 @@ spec:
|
|||||||
zoneName: 16.18.198.in-addr.arpa
|
zoneName: 16.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -81,6 +93,8 @@ spec:
|
|||||||
zoneName: 17.18.198.in-addr.arpa
|
zoneName: 17.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -92,6 +106,8 @@ spec:
|
|||||||
zoneName: 19.18.198.in-addr.arpa
|
zoneName: 19.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -103,6 +119,8 @@ spec:
|
|||||||
zoneName: 20.18.198.in-addr.arpa
|
zoneName: 20.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -114,6 +132,8 @@ spec:
|
|||||||
zoneName: 21.18.198.in-addr.arpa
|
zoneName: 21.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -125,6 +145,8 @@ spec:
|
|||||||
zoneName: 22.18.198.in-addr.arpa
|
zoneName: 22.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -136,6 +158,8 @@ spec:
|
|||||||
zoneName: 23.18.198.in-addr.arpa
|
zoneName: 23.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -147,6 +171,8 @@ spec:
|
|||||||
zoneName: 24.18.198.in-addr.arpa
|
zoneName: 24.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -158,6 +184,8 @@ spec:
|
|||||||
zoneName: 25.18.198.in-addr.arpa
|
zoneName: 25.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -169,6 +197,8 @@ spec:
|
|||||||
zoneName: 26.18.198.in-addr.arpa
|
zoneName: 26.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -180,6 +210,8 @@ spec:
|
|||||||
zoneName: 27.18.198.in-addr.arpa
|
zoneName: 27.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -191,6 +223,8 @@ spec:
|
|||||||
zoneName: 28.18.198.in-addr.arpa
|
zoneName: 28.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: BindZone
|
kind: BindZone
|
||||||
@@ -202,3 +236,5 @@ spec:
|
|||||||
zoneName: 29.18.198.in-addr.arpa
|
zoneName: 29.18.198.in-addr.arpa
|
||||||
type: primary
|
type: primary
|
||||||
defaultTTL: 600
|
defaultTTL: 600
|
||||||
|
dynamicUpdate: true
|
||||||
|
updateKeyRef: client-update
|
||||||
|
|||||||
Reference in New Issue
Block a user