BUNNY_DNS: Add support for PullZone (PZ) record type#4053
Merged
tlimoncelli merged 3 commits intoStackExchange:mainfrom Feb 5, 2026
Merged
BUNNY_DNS: Add support for PullZone (PZ) record type#4053tlimoncelli merged 3 commits intoStackExchange:mainfrom
tlimoncelli merged 3 commits intoStackExchange:mainfrom
Conversation
0b89aaa to
90e489a
Compare
Contributor
Author
Regarding this part, bunny.net support confirmed this is the correct way to read back the pull zone ID. |
tlimoncelli
approved these changes
Feb 5, 2026
tlimoncelli
added a commit
that referenced
this pull request
Feb 10, 2026
#4072) ## Summary The GoReleaser changelog regex for the "Provider-specific changes" section used provider names that didn't always match the actual `providerName` constants defined in the provider Go code. This caused some provider-specific commits to be miscategorized under "Other changes and improvements" instead. **Real-world example from [v4.34.0](https://github.com/StackExchange/dnscontrol/releases/tag/v4.34.0):** The commit `47866f9: BUNNY_DNS: Add support for PullZone (PZ) record type (#4053)` ended up under "Other changes and improvements" instead of "Provider-specific changes", because the regex contained `bunnydns` (no underscore) while the commit prefix uses the provider constant `BUNNY_DNS` (with underscore). ## Changes All regex entries are now aligned with the actual `providerName` constants from each provider's Go source: | Old (regex) | New (= provider constant) | Change | |---|---|---| | `akamaiedge` | `akamaiedgedns` | Added `dns` suffix | | `axfrd` | `axfrddns` | Added `dns` suffix | | `azure` | `azure_dns` | Added underscore + `dns` suffix | | `bunnydns` | `bunny_dns` | Added underscore | | `cloudflare` | `cloudflareapi` | Added `api` suffix | | `cloudflareapi_old` | *(removed)* | No longer exists as a provider | | `doh` | `dnsoverhttps` | Full constant name | | `gandi` | `gandi_v5` | Added underscore + `v5` suffix | | `hetznerv2` | `hetzner_v2` | Added underscore | All 61 provider names now exactly match their `providerName` constant (case-insensitive). --------- Co-authored-by: Tom Limoncelli <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds support for the Bunny DNS custom record type
PullZone(orPZ), which maps a domain name to a Bunny CDN pull zone.It looks like this in the config:
Where
12345is the ID of the CDN pull zone, which can be retrieved from the Bunny dashboard URL (e.g.https://dash.bunny.net/cdn/5269987/general/hostnames).It looks like this in the UI:
Two things for reviewers:
PullZoneIDas an int64, but when you retrieve the zone records the ID is returned as a string in a field namedLinkName. This isn't clearly documented so I'll confirm with Bunny support if this is the right way to do it and will report back with a comment in this PR.profiles.json, but at a first glance I don't see other tests requiring options so for now I've left the 2 IDs hardcoded (which work only on my test account).I may have also missed something else since this is my first contribution to this project.
Thanks!
P.S. the following integration test is failing with Bunny DNS but I believe this is unrelated to this PR: