feat: wildcard support in local zones #117

Open
opened 2026-04-18 04:39:43 +08:00 by razvandimescu · 0 comments
razvandimescu commented 2026-04-18 04:39:43 +08:00 (Migrated from github.com)

Split from #102 item 4 (reporter: @bcookatpcsd).

Request

Allow wildcard labels on the left-hand side of local zone entries, so a single rule can cover an entire subtree.

Example from #102:

[zones]
"time.onsite"      = { A = "10.20.30.40" }
"pool.ntp.org"     = { CNAME = "time.onsite" }
"*.pool.ntp.org"   = { CNAME = "time.onsite" }

Scope

  • Wildcard matching on the leftmost label only (DNS-standard semantics per RFC 4592).
  • Exact matches take precedence over wildcard matches.
  • Works for A / AAAA / CNAME at minimum; other types nice-to-have.
  • No change to forwarding / upstream paths — local zones only.

Non-goals

  • Regex or multi-label wildcards (*.*.example.com).
  • Wildcard in the middle of a name.

Notes

Keep the config surface unchanged for non-wildcard users; this is additive.

Split from #102 item 4 (reporter: @bcookatpcsd). ## Request Allow wildcard labels on the left-hand side of local zone entries, so a single rule can cover an entire subtree. Example from #102: ```toml [zones] "time.onsite" = { A = "10.20.30.40" } "pool.ntp.org" = { CNAME = "time.onsite" } "*.pool.ntp.org" = { CNAME = "time.onsite" } ``` ## Scope - Wildcard matching on the leftmost label only (DNS-standard semantics per RFC 4592). - Exact matches take precedence over wildcard matches. - Works for A / AAAA / CNAME at minimum; other types nice-to-have. - No change to forwarding / upstream paths — local zones only. ## Non-goals - Regex or multi-label wildcards (`*.*.example.com`). - Wildcard in the middle of a name. ## Notes Keep the config surface unchanged for non-wildcard users; this is additive.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/numa#117