[GH-ISSUE #3410] Config Format #1178

Open
opened 2026-03-16 01:49:20 +03:00 by kerem · 3 comments
Owner

Originally created by @shimunn on GitHub (Dec 18, 2025).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/3410

What is the question?

Is there documentation for the config format? I'm trying to setup an subdomain for rfc2136, however I'm getting hit by

22 | [[zones]]
   | ^^^^^^^^^
missing field `type`

Config:

directory = "/srv/ddns"
listen_addrs_ipv4 = ["0.0.0.0"]
listen_addrs_ipv6 = ["::0"]
listen_port = 53

[[zones]]
file = "/nix/store/9y9miyj0i4jsrirz0rjkl311fnrrkv6r-dyn.example.com"
zone = "dyn.example.com"
zone_type = "Primary"

[[zones.keys]]
algorithm = "RSASHA256"
key_path = "/srv/ddns/dyn.example.com.key"
purpose = "ZoneSigning"

[zones.stores]
allow_update = true
journal_file_path = "dyn.example.com_dnssec_update.jrnl"
type = "sqlite"
zone_file_path = "/nix/store/9y9miyj0i4jsrirz0rjkl311fnrrkv6r-dyn.example.com"

[[zones]]
file = "/srv/ddns/a.dyn.example.com.zone"
zone = "a.dyn.example.com"
zone_type = "Primary"

[[zones.stores.tsig_keys]]
algorithm = "hmac-sha256"
key_file = "/srv/ddns/tsig/a.dyn.example.com.key"
name = "a.dyn.example.com"

However as far as I can deduce from the examples the type attribute is only used for stores.

Originally created by @shimunn on GitHub (Dec 18, 2025). Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/3410 What is the question? Is there documentation for the config format? I'm trying to setup an subdomain for rfc2136, however I'm getting hit by ``` 22 | [[zones]] | ^^^^^^^^^ missing field `type` ``` Config: ``` directory = "/srv/ddns" listen_addrs_ipv4 = ["0.0.0.0"] listen_addrs_ipv6 = ["::0"] listen_port = 53 [[zones]] file = "/nix/store/9y9miyj0i4jsrirz0rjkl311fnrrkv6r-dyn.example.com" zone = "dyn.example.com" zone_type = "Primary" [[zones.keys]] algorithm = "RSASHA256" key_path = "/srv/ddns/dyn.example.com.key" purpose = "ZoneSigning" [zones.stores] allow_update = true journal_file_path = "dyn.example.com_dnssec_update.jrnl" type = "sqlite" zone_file_path = "/nix/store/9y9miyj0i4jsrirz0rjkl311fnrrkv6r-dyn.example.com" [[zones]] file = "/srv/ddns/a.dyn.example.com.zone" zone = "a.dyn.example.com" zone_type = "Primary" [[zones.stores.tsig_keys]] algorithm = "hmac-sha256" key_file = "/srv/ddns/tsig/a.dyn.example.com.key" name = "a.dyn.example.com" ``` However as far as I can deduce from the examples the `type` attribute is only used for stores.
Author
Owner

@djc commented on GitHub (Dec 18, 2025):

Unfortunately we don't have good documentation for this right now. I suggest you look at some of the test config files in /tests/test-data/test_configs -- but make sure you're looking at the branch matching the version you're using.

Are you working with 0.25.x or something else?

<!-- gh-comment-id:3672101061 --> @djc commented on GitHub (Dec 18, 2025): Unfortunately we don't have good documentation for this right now. I suggest you look at some of the test config files in `/tests/test-data/test_configs` -- but make sure you're looking at the branch matching the version you're using. Are you working with 0.25.x or something else?
Author
Owner

@shimunn commented on GitHub (Dec 18, 2025):

I'm on 0.25.2, been using this as reference

<!-- gh-comment-id:3672113921 --> @shimunn commented on GitHub (Dec 18, 2025): I'm on 0.25.2, been using [this](https://github.com/hickory-dns/hickory-dns/blob/v0.25.2/tests/test-data/test_configs/all_supported_dnssec.toml) as reference
Author
Owner

@djc commented on GitHub (Jan 6, 2026):

However as far as I can deduce from the examples the type attribute is only used for stores.

Digging into this some more, that is correct. However, your zones.stores.tsig_keys is implicitly creating a stores for your second zone, which presumably then needs a type.

<!-- gh-comment-id:3714316780 --> @djc commented on GitHub (Jan 6, 2026): > However as far as I can deduce from the examples the `type` attribute is only used for stores. Digging into this some more, that is correct. However, your `zones.stores.tsig_keys` is implicitly creating a `stores` for your second zone, which presumably then needs a `type`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#1178
No description provided.