Reflect externaldns TSIG key into the externaldns namespace #285
Reference in New Issue
Block a user
Delete Branch "benvin/externaldns-tsig-reflect"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Step 1 of 3 in the external-dns → in-cluster bind migration. For external-dns to send RFC2136 updates to the in-cluster
bind-externaldnsprimary, it must present the exact TSIG key the primary'sallow-updateaccepts. The bind-operator generates that key material into Secretexternaldns-key-tsiginbind-internal; reflecting it into theexternaldnsnamespace removes the manual eyaml→Vault key sync and guarantees key parity.Changes
spec.secretTemplate.annotationsto BindTSIGKeyexternaldns-keywith the emberstack reflector hints:reflection-allowed,reflection-allowed-namespaces: externaldns,reflection-auto-enabled,reflection-auto-namespaces: externaldns.schemas/bind.unkin.net/bindtsigkey_v1alpha1.jsonfrom the live CRD (deployed bind-operator v0.2.4 already exposessecretTemplate— the WIP branch's ">= v0.3.0" claim is stale) to add thesecretTemplateproperty. Schema output is byte-identical to runningci/generate-schemas.sh.kubectl kustomize apps/overlays/au-syd1/bind-internalbuilds clean and renders the annotations onto the BindTSIGKey.Verification (after merge)
Both
secretandalgorithmkeys must be present (reflector mirrored the source Secret from bind-internal).Rollback
Revert this PR. The source Secret in bind-internal is unaffected; only the reflected mirror in
externaldnsis removed.Merge order: this is PR 1/3. PR 2 (repoint external-dns) must not merge until the reflected secret is verified.