Skip to content

Configuring a Registry

Daniel Lamando edited this page Feb 22, 2022 · 3 revisions

Registries are used to define "ownership" of the records managed on your DNS providers. Your choice of registry can make it possible (or impossible) to share a DNS zone with multiple kubernetes-dns-sync installations.

There are two available registry types:

  • txt defines that kubernetes-dns-sync will create its own TXT records to keep track of what other DNS records it's managing. You'll most likely want to use this when setting up an existing domain. Really, go for txt unless you have a reason not to.
  • noop defines that the DNS zones will be wholly owned by kubernetes-dns-sync. Any and all unrecognized records that exist in the zone will be deleted. This can be useful for single-purpose domains.

txt registry

If you will be connecting multiple DNS sync programs to one DNS zone, make sure the txt_owner_id field is unique for each instance!

See also: TXT Registry Behavior.

Annotated TOML block:

[registry]
type = "txt"

### An ID for our instance
txt_owner_id = "example"

### If you are migrating from external-dns, you can optionally "adopt" (aka steal)
### its records by adding its owner-id here:
# auto_adopt_from_owner_ids = [ "my-external-dns" ]

### To support wildcards, CNAME, or to hide the registry TXTs,
### set either a prefix *or* suffix:
# txt_prefix = "_registry."
# txt_suffix = "._registry"
### If you use one of these, set the same value on every attached dns-sync

noop registry

There's no extra options, just add this block and forget it:

[registry]
type = "noop"

Don't forget to review the planned changes carefully when you add a your existing zones.

Clone this wiki locally