Skip to content

GIT-38: external-dns addon - #32

Merged
noels merged 1 commit into
mainfrom
GIT-38
Sep 25, 2026
Merged

noels merged 1 commit into
mainfrom
GIT-38

Conversation

@noels

@noels noels commented Sep 25, 2026

Copy link
Copy Markdown
Member

Adds an external-dns addon (enable_external_dns) — chart external-dns 1.22.0 (app v0.22.0) from kubernetes-sigs, namespace external-dns.

Defaults (environments/default/addons/external-dns/values.yaml)

  • sources: [service] — only LoadBalancer Services annotated external-dns.alpha.kubernetes.io/hostname get a record. Ingresses are not a source by default (MicroK8s' NGINX add-on publishes 127.0.0.1 in its status).
  • policy: sync, registry: txt; the appset sets txtOwnerId to the cluster name. ExternalDNS only updates/deletes records carrying its own ownership TXT, so hand-made records in the same zone are safe. The values warn against registry: noop for this reason.
  • The provider is per cluster. Commented reference setups for the OPNsense Unbound webhook (ghcr.io/crutonjohn/external-dns-opnsense-webhook:v1.0.0) and Cloudflare, plus resources/ with resources: [] and an ExternalSecret example for the API key.

No CRDs and no in-cluster state, so there is no preserveResourcesOnDeletion.

Checks: yamllint clean. helm template with the default + ivylen values gives --source=service --policy=sync --registry=txt --txt-owner-id=ivylen --domain-filter=ivylen.farm --provider=webhook and the webhook sidecar with probes on http-webhook.

Merge order: this PR → gitops-control-plane GIT-38 (allowlist) → gitops-private GIT-38 (it imports this appset from main).

🤖 Generated with Claude Code

…er cluster)

New catalogue addon enable_external_dns: kubernetes-sigs external-dns chart 1.22.0 in ns external-dns.
Defaults: sources [service] (opt-in via external-dns.alpha.kubernetes.io/hostname), policy sync,
registry txt with txtOwnerId = cluster name (set by the appset), so hand-made records in the same
zone are never touched. Provider + credentials are per cluster; commented reference setups for the
OPNsense Unbound webhook and Cloudflare, and an ExternalSecret example for the API key.
@noels
noels merged commit 05f9abf into main Sep 25, 2026
4 checks passed
@noels
noels deleted the GIT-38 branch September 25, 2026 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant