NEW PROVIDER: OpenWRT - #4166
Conversation
The integration testing log:As noted above it fails the TTL tests and some IGNORE tests because it skips the first half of the test due to not being able to create TXT records. |
|
Hello DNS friend! Thank you for submitting this! Looks good so far. I'll do a deeper PR review later. Just FYI: Don't worry about failing tests for unsupported record types. We're thinking about updating the test system to be aware of such differences. That might be a summer project. |
|
Now that the org move is complete, I'm sending a friendly ping to PRs. Please rebase and I'd be glad to review. |
|
Friendly ping? |
|
Sorry about that, it's the middle of exams season here so I won't be able to get back to this for a little while. |
|
No problem! Good grades are more important than DNS! |
|
Finally got around to rebasing it. The new integration testing log:Like before it's failing the same tests because of TTL and TXT support. |
|
I'm assuming the TTL failures are unfixable because (I'm guessing here) that OpenWRT doesn't support TTLs. Please mark those tests in If those test are important, I'd be glad to collaborate and get them working. |
|
Yes, that's correct. There is no way to specify the TTL of a specific record, despite OpenWRT relying on dnsmasq for DNS (which does support it). As for TXT support, it's technically fixable, OpenWRT (that is to say dnsmasq) allows to set arbitrary resource records hence TXTs. Back in march I couldn't get the feature to work so I just ignored it assuming I was doing something wrong, but on second look I think the feature itself might be broken on OpenWRT's end. I'm going to submit an issue to see if I can get the latter fixed, in which case the implementation shouldn't be a problem. Personally I don't think it's all that important to pass all tests perfectly, OpenWRT is mainly aimed at consumer routers, even the most catastrophic of failures would have a fairly limited impact. |
|
Thank you for contributing this new provider, @huskyistaken! A few action items before we can merge this PR:
When I see the Github invite accepted and receive the email, I’ll merge this PR. Thanks again! P.S. I clicked merge not realizing I hadn't sent you the welcome message above. Please take care of item 1 and 2 before the next release, which should be Sunday. Thanks! |
|
I don't see an invitation, I'm going to accept it as soon as I receive it. The email has been sent. |
|
Invite should be there now. |
Hello! This commit adds support for OpenWrt as a DNS provider, managing its entries through the LuCi RPC .
Some notes on the code:
It's my first time writing Go, so there be dragons beware.
The API is based on JSON-RPC, but from what I've read the rpc implementation in the standard library is deprecated, and other implementations are mainly crypto related, which I wouldn't want to pull as a dependency without asking first.
Since OpenWrt is pretty limited as a DNS it supports neither TXT records nor setting TTLs, this creates problems with integration tests.
Please create the GitHub label "provider-openwrt"