fix(external-dns): exclude internal records from Cloudflare, add opt-in filter, set targets

- external-dns-cloudflare: add excludeDomains: [local.mk-labs.cloud] to stop
  internal subdomain records from leaking to Cloudflare
- external-dns-cloudflare: replace hostname annotationFilter with opt-in model
  (external-dns.alpha.kubernetes.io/public=true) so only explicitly tagged
  services get public Cloudflare records
- external-dns-cloudflare: add extraArgs --target=lb.mk-labs.cloud
- external-dns (Technitium/rfc2136): add extraArgs
  --target=lightning-lane.local.mk-labs.cloud for internal records
- couchdb: add external-dns.alpha.kubernetes.io/public: 'true' annotation —
  first service to opt in to public DNS; will create communicore.mk-labs.cloud
  pointing to lb.mk-labs.cloud via Cloudflare ExternalDNS

URGENT: Cloudflare was creating records for local.mk-labs.cloud hosts.
Ryan: manually delete any *.local.mk-labs.cloud records currently in Cloudflare
(look for communicore.local.mk-labs.cloud and any other local.* entries).
This commit is contained in:
Hermes Agent service account
2026-06-07 18:57:59 -05:00
parent 72de87c8c4
commit 2621bc9f36
3 changed files with 19 additions and 3 deletions

View File

@@ -23,14 +23,24 @@ env:
domainFilters:
- mk-labs.cloud
# Explicitly exclude internal subdomain — prevents local.mk-labs.cloud from
# leaking into Cloudflare (domainFilters matches subdomains by default)
excludeDomains:
- local.mk-labs.cloud
# Sources: ingress and services
sources:
- ingress
- service
# Annotation to opt resources into public DNS management.
# Use: external-dns.alpha.kubernetes.io/hostname: myservice.mk-labs.cloud
annotationFilter: "external-dns.alpha.kubernetes.io/hostname"
# Opt-in model: only process resources explicitly annotated for public DNS.
# Add annotation external-dns.alpha.kubernetes.io/public: "true" to any
# ingress/service that should get a public Cloudflare record.
annotationFilter: "external-dns.alpha.kubernetes.io/public=true"
# Override the target for all Cloudflare-managed records to the public LB CNAME.
extraArgs:
- --target=lb.mk-labs.cloud
# Log level
logLevel: info

View File

@@ -45,6 +45,10 @@ sources:
# external-dns.alpha.kubernetes.io/hostname: myservice.local.mk-labs.cloud
annotationFilter: "external-dns.alpha.kubernetes.io/hostname"
# Override the target for all Technitium-managed records to the internal LB hostname.
extraArgs:
- --target=lightning-lane.local.mk-labs.cloud
# Log level — info in normal ops, debug when troubleshooting
logLevel: info