Skip to content

external-dns

ExternalDNS for Cloudflare. Provides dns and writes an A, AAAA, or CNAME record for each consumer.

providers.dns = apps.external-dns.main;
apps.external-dns.main = {
domain = "example.dev";
target = "203.0.113.10";
zones = [ "example.net" ];
};

Provides

dns4 options
  • domainnull or string

    Bound zone, such as example.dev. Written by the dns provider.

    Default
    null
  • fqdnnull or string

    Bound fully qualified name. Written by the dns provider.

    Default
    null
  • namenull or string

    Record label. Defaults to the consumer DNS label.

    Default
    null
  • providernull or (podule provider reference (apps.<type>.<instance> or impl.<contract>.<name>))

    Overrides providers.dns for this need.

    Default
    null

Needs

secret7 options
  • <name>.externalboolean

    The operator supplies this value before apply. Other secrets are generated in the cluster.

    Default
    false
  • <name>.keyslist of string

    Keys stored in this Secret. Empty means one key named after the secret.

    Default
    [ ]
    Example
    [ "name" "user" "password" ]
  • <name>.refnull or (submodule)

    Bound secretRef for this secret. Written by the secret provider.

    Default
    null
  • <name>.ref.keystring

    Key inside the Secret.

  • <name>.ref.namestring

    Kubernetes Secret object name.

  • <name>.ref.namespacenull or string

    Namespace of the Secret. Defaults to the namespace of the consumer that reads it.

    Default
    null
  • providernull or (podule provider reference (apps.<type>.<instance> or impl.<contract>.<name>))

    Overrides providers.secret for this need. One provider handles every named secret.

    Default
    null
  • domainstring

    Zone this instance answers for, such as example.dev.

  • imagestring

    ExternalDNS image. nixpkgs does not ship this program.

    Default
    "registry.k8s.io/external-dns/external-dns:v0.22.0"
  • providervalue "cloudflare" (singular enum)

    DNS provider.

    Default
    "cloudflare"
  • targetstring

    Record target for every hostname, such as an ingress address or a CNAME target.

  • zoneIdnull or string

    Cloudflare zone ID. ExternalDNS discovers it from the API token when unset.

    Default
    null
  • zoneslist of string

    Additional zones that share this instance's records.

    Default
    [ ]