Files
homelab/cluster/platform/external-dns-cloudflare/values.yaml
Hermes Agent service account 86433a58d0 fix(external-dns): remove invalid --target flag, move to per-resource annotation
ExternalDNS v0.15.1 does not support --target as a CLI flag.
Remove the extraArgs stanza from external-dns-cloudflare values.yaml
and instead add the target annotation directly on the CouchDB ingress:
  external-dns.alpha.kubernetes.io/target: ingress.mk-labs.cloud

This achieves the same result (Cloudflare CNAME -> ingress.mk-labs.cloud)
without crashing the controller.
2026-06-07 19:08:15 -05:00

53 lines
1.4 KiB
YAML

# ------------------------------------------------------------------------------
# external-dns-cloudflare — Helm Values
# Chart: https://kubernetes-sigs.github.io/external-dns
#
# Provider: Cloudflare
# Zone: mk-labs.cloud (public)
#
# This is a second ExternalDNS instance running alongside the existing
# Technitium (rfc2136) instance which handles local.mk-labs.cloud.
# ------------------------------------------------------------------------------
provider:
name: cloudflare
env:
- name: CF_API_TOKEN
valueFrom:
secretKeyRef:
name: cloudflare-api-token
key: cloudflare_api_token
# Only manage records in the public zone
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
# 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"
# Log level
logLevel: info
# Interval between sync runs
interval: "1m"
# Policy: sync = create AND delete records. Use upsert-only to be conservative.
policy: sync
# Registry to track which records external-dns owns
registry: txt
txtOwnerId: fastpass