Skip to content

NEW PROVIDER: Netbird DNS Zone#4170

Merged
TomOnTime merged 10 commits into
DNSControl:mainfrom
yzqzss:feat/netbird
May 18, 2026
Merged

NEW PROVIDER: Netbird DNS Zone#4170
TomOnTime merged 10 commits into
DNSControl:mainfrom
yzqzss:feat/netbird

Conversation

@yzqzss
Copy link
Copy Markdown
Member

@yzqzss yzqzss commented Mar 15, 2026

https://docs.netbird.io/manage/dns/custom-zones
https://docs.netbird.io/api/resources/dns-zones


Integration Test Result:

Netbird does not currently support MX and TXT records, so three tests that rely on TXT/MX failed. Otherwise, all good.

$ go test -profile NETBIRD
Testing Profile="NETBIRD" (TYPE="NETBIRD")
--- FAIL: TestDNSProviders (29.07s)
    --- FAIL: TestDNSProviders/test.internal (28.98s)
        --- FAIL: TestDNSProviders/test.internal/85:IGNORE_main:ignore_label (0.08s)
            helpers_integration_test.go:225: Expected 0 corrections on FIRST run, but found 2.
            helpers_integration_test.go:227: UNEXPECTED #0: + CREATE bar.test.internal A 5.5.5.5 ttl=300
            helpers_integration_test.go:227: UNEXPECTED #1: + CREATE mail.test.internal CNAME ghs.googlehosted.com. ttl=300
        --- FAIL: TestDNSProviders/test.internal/86:IGNORE_apex:apex_label (0.10s)
            helpers_integration_test.go:225: Expected 0 corrections on FIRST run, but found 2.
            helpers_integration_test.go:227: UNEXPECTED #0: + CREATE bar.test.internal A 5.5.5.5 ttl=300
            helpers_integration_test.go:227: UNEXPECTED #1: + CREATE mail.test.internal CNAME ghs.googlehosted.com. ttl=300
        --- FAIL: TestDNSProviders/test.internal/88:IGNORE_wilds:ignore_label=foo.* (0.09s)
            helpers_integration_test.go:225: Expected 0 corrections on FIRST run, but found 2.
            helpers_integration_test.go:227: UNEXPECTED #0: + CREATE bar.bat.test.internal A 5.5.5.5 ttl=300
            helpers_integration_test.go:227: UNEXPECTED #1: + CREATE mail.bat.test.internal CNAME ghs.googlehosted.com. ttl=300
Testing Profile="NETBIRD" (TYPE="NETBIRD")
Testing Profile="NETBIRD" (TYPE="NETBIRD")
Testing Profile="NETBIRD" (TYPE="NETBIRD")
FAIL
exit status 1
FAIL    github.com/StackExchange/dnscontrol/v4/integrationTest  29.161s

@TomOnTime
Copy link
Copy Markdown
Collaborator

Now that the org move is complete, I'm sending a friendly ping to PRs. Please rebase and I'd be glad to re-review. Thank you for your patience!

Comment thread documentation/provider/netbird.md Outdated
Comment thread providers/netbird/api.go
Comment thread providers/netbird/api.go
@yzqzss
Copy link
Copy Markdown
Member Author

yzqzss commented May 13, 2026

Hi, thank you for your review, DNSContrl is very useful to me.
I'll rebase and address your comments soon.

@cafferata cafferata added the provider-NETBIRD Netbird DNS Zone provider label May 13, 2026
@yzqzss
Copy link
Copy Markdown
Member Author

yzqzss commented May 13, 2026

ready for review :)

@yzqzss
Copy link
Copy Markdown
Member Author

yzqzss commented May 13, 2026

Integration test result is the same as before, still failed on those MX/TXT cases.

@TomOnTime
Copy link
Copy Markdown
Collaborator

Hello!

Looking good so far!

Since MX/TXT records are supported, please add this to the tests that fail:

integrationTest/integration_test.go

      not("NETBIRD"),  // MX/TXT records not supported

@yzqzss yzqzss requested a review from cafferata as a code owner May 14, 2026 10:00
Copy link
Copy Markdown
Member

@cafferata cafferata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice addition! The documentation is well-structured and covers configuration, metadata, usage, and activation clearly. A few smaller points from my review as inline comments.

Optionally: since #4208 landed before this PR, would you be open to implementing RegisterCredsMetadata()? That would make NetBird available in dnscontrol init. The PR has examples for simple providers like BIND and more complex ones like TransIP.

Comment thread documentation/provider/netbird.md
Comment thread documentation/provider/netbird.md
Comment thread documentation/provider/netbird.md Outdated
Comment thread documentation/provider/netbird.md
@yzqzss yzqzss marked this pull request as draft May 16, 2026 09:24
@yzqzss yzqzss marked this pull request as ready for review May 18, 2026 02:41
@yzqzss yzqzss requested a review from cafferata May 18, 2026 07:14
Copy link
Copy Markdown
Member

@cafferata cafferata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All feedback addressed. Thanks!

@TomOnTime
Copy link
Copy Markdown
Collaborator

Thank you for contributing this new provider, @yzqzss yzqzss !

Two important notes:

  1. @fm: Faisal Misle is our “liaison to maintainers”. He'll reach out to you soon. He'll be requesting your email address so that we have a more direct way to contact you. I promise he’s not a spammer!
  2. By now you should have received a Github invite to have the "triage" role for this repo. Please accept the invite so we can assign bugs to you.

Thanks again!
Tom

@TomOnTime TomOnTime merged commit 47d64a9 into DNSControl:main May 18, 2026
3 checks passed
@fm
Copy link
Copy Markdown

fm commented May 18, 2026

Hi @yzqzss

Thank you for becoming the new maintainer for Netbrid.

We want to make sure this is the address you'd like to be reached at regarding maintainer communications. Your email will not be public and will only be used the the project team to send out maintainer communications. Can you email dnscontrol at faisal dot fm from your preferred address?

As a maintainer, we’d like to remind you of your role and expectations we have so that everyone has a positive experience using dnscontrol:

  • Maintainers are expected to support their provider. If a maintainer is no longer able to maintain a provider, they should suggest a replacement or if no replacement is available, the maintainer shall let the maintainer liaison know so they can put out a call for volunteers.
  • Maintainers must be responsible to bug reports and PRs for their provider.
  • Maintainers should set up test accounts and periodically verify that all tests pass (pkg/js/parse_tests and integrationTest), especially when new features are added or changed in the core product.
  • Contributors are encouraged to add new tests and refine old ones. (Test-driven development is encouraged.)

If there is anything we can help with, or help unblock, as you maintain your provider please don’t hesitate to reach out.

@yzqzss yzqzss deleted the feat/netbird branch May 18, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

provider-NETBIRD Netbird DNS Zone provider

Development

Successfully merging this pull request may close these issues.

4 participants