Configuration reference

October 7, 2025 ยท View on GitHub

This page references the different configurations for the External DNS Hetzner webhook.

Supported environment variables

EnvTypeDefaultDescription
HETZNER_TOKENstring (required)Hetzner Cloud API token.
INCLUDE_DOMAIN_FILTERlist of stringInclusive filtering of target zones via domain suffixes. See domain filters for more details.
EXCLUDE_DOMAIN_FILTERlist of stringExclusive filtering of target zones via domain suffixes. See domain filters for more details.
INCLUDE_REGEXP_DOMAIN_FILTERstringInclusive filtering of target zones via regular expressions. See domain filters for more details.
EXCLUDE_REGEXP_DOMAIN_FILTERstringExclusive filtering of target zones via regular expressions. See domain filters for more details.
LOG_LEVELstringinfoLog level of the webhook. Accepted values are debug, info, warn, error.
WEBHOOK_ADDRESSstringlocalhost:8888Listen address of the webhook.
METRICS_ADDRESSstring:8080Listen address of the prometheus metrics and health checks.

Domain filters

Managed zones can be limited through domain filters. Limiting can be performed in either an inclusive or an exclusive manner. Inclusive and exclusive filtering at the same time is supported. Filtering can be achieved either with a list of domain suffixes, or via regular expressions. Both methods cannot be used at the same time. If both are set, domain suffixes are prioritized over regular expressions.

Domain suffixes

Domain suffixes are provided as a comma separated list. The two corresponding environment variables INCLUDE_DOMAIN_FILTER and EXCLUDE_DOMAIN_FILTER can be set.

Example
# values.yml
# [...]
provider:
  # [...]
  webhook:
    env:
      - name: INCLUDE_DOMAIN_FILTER
        value: >-
          example.com,
          example2.com,
          example3.com
      - name: HETZNER_TOKEN
        valueFrom:
          secretKeyRef:
            name: hetzner
            key: token

Regular expressions

Regular expressions are implemented with the regexp package from the standard library. The two corresponding environment variables INCLUDE_REGEXP_DOMAIN_FILTER and EXCLUDE_REGEXP_DOMAIN_FILTER can be set.

Example
# values.yml
# [...]
provider:
  # [...]
  webhook:
    env:
      - name: INCLUDE_REGEXP_DOMAIN_FILTER
        value: "example[0-9]*\\.com"
      - name: HETZNER_TOKEN
        valueFrom:
          secretKeyRef:
            name: hetzner
            key: token