plugins icon indicating copy to clipboard operation
plugins copied to clipboard

www/caddy - Issue tracker for DNS Providers

Open Monviech opened this issue 11 months ago • 24 comments

Important notices

Before you add a new report, we ask you kindly to acknowledge the following:

  • [x] I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
  • [x] I have searched the existing issues, open and closed, and I'm convinced that mine is new.
  • [x] When the request is meant for an existing plugin, I've added its name to the title.

Explain the problem

This issue is for tracking the current state of DNS Providers in the os-caddy plugin.

If you have issues, need to have a DNS Provider added, or have questions, please post that in this issue, don't create a seperate issue. Please note that I don't have accounts to test any of these providers. Following the link to their current maintainer will be a good starting point.

Since the DNS Providers in caddy are a community maintained effort, it is likely that plugins become unmaintained, forgotten, or dysfunct over time. To mitigate the risk of the build of caddy-custom failing, and to make sure there aren't any exploits in the code, a retention policy is enforced.

Policy:

The less DNS providers, the better for the build to make it less bloated. Though there is no other choice, so yeah...~ Adding maintained providers is ok.

🟥 A DNS provider plugin will be removed and not be added if:

  • they're unmaintained for too long (like 2-3 years of no updates)
  • they make the build of caddy-custom fail
  • users report errors with the functionality, and they won't be fixed
  • the maintainers ignore issues or pull requests on their provider module

🟩 A DNS Provider plugin will be added if:

  • it's explicitely requested
  • it doesn't make the current caddy-custom build fail
  • it is in the caddy-dns repository and doesn't look unmaintained

Compare this list to: https://github.com/caddy-dns

Colors explained: 🟩 - Will stay in build 🟨 - Will stay in build unless errors, though marked for deprecation if no updates are provided 🟥 - Will be removed from build in next plugin version.

Current compile status:

How does the workflow look like to ensure a new DNS Provider plays nice with the rest?

  • The DNS Provider should be 🟩
  • OPNsense Tools have to be used and a full build of the current state of the ports has to be made. https://github.com/opnsense/tools
  • Afterwards, the make.conf has to be populated with the new DNS Provider and their commit hash, compare: https://github.com/opnsense/tools/blob/dbb78c3da78eede81fc26f557f8daefbd42289e5/config/24.1/make.conf#L97
  • A new build has to be triggered, building just caddy-custom with make ports-caddy-custom
  • If the build is successful, then the DNS Provider can be added to the plugin.
  • I already added all DNS Providers in this branch, so its just copy pasting to support them in the plugin: https://github.com/Monviech/opnsense-plugins/tree/more-dnsproviders-stached

Monviech avatar Mar 26 '24 17:03 Monviech

I would love to have netcup compiled. :)

dMopp avatar May 19 '24 18:05 dMopp

@dMopp Wanne try and add it? I documented what needs to be done. If you get stuck I can help.

Monviech avatar May 20 '24 07:05 Monviech

I have compiled Netcup in since it was a bit more complicated, I had to issue an upstream PR too. But now, only the Plugin GUI is left, which is just some copy pasting.

Monviech avatar May 23 '24 07:05 Monviech

I would really like to help, but to be honest i dont know where to start right now :O

dMopp avatar May 23 '24 09:05 dMopp

It's okay, I will add it next week. It'll be in the next plugin version.

  • [x] https://github.com/opnsense/tools/pull/410
  • [x] https://github.com/opnsense/plugins/pull/3998

Monviech avatar May 23 '24 09:05 Monviech

Hello, Thanks for the work. Could it be possible to have Infomaniak added ?

un73l avatar Jun 05 '24 17:06 un73l

@un73l I'll evaluate it and if the build checks out I will add it.

Monviech avatar Jun 05 '24 17:06 Monviech

@un73l Infomaniak and a few more will probably be in next version, build checks out.

https://github.com/opnsense/plugins/pull/4032

Monviech avatar Jun 06 '24 16:06 Monviech

Is it possible to add Hetzner? https://github.com/caddy-dns/hetzner Thank you.

peroksid5 avatar Jul 13 '24 12:07 peroksid5

@peroksid5 If you poke the maintainer and ask if it still works and they update their libdns dependencies. 4 years ago last update is a long time.

Monviech avatar Jul 13 '24 13:07 Monviech

@Monviech I've pinged the mantainer to update the dependencies. It works as it is, however, as I am currently using it with the mimugmail version of the Caddy plugin. :)

peroksid5 avatar Jul 13 '24 14:07 peroksid5

@peroksid5 Oh okay good to know. I just gotta be a bit more careful here dependency wise because this build is pretty large.

Trying to keep too old modules out of the build.

Monviech avatar Jul 13 '24 14:07 Monviech

@Monviech I see however in the Issues that there might be some bugs in some configurations. It works with my wildcard certificate, though. Perhaps I must switch to a different DNS provider. :)

peroksid5 avatar Jul 13 '24 14:07 peroksid5

@Monviech

Trying to keep too old modules out of the build.

I just did a pull request to libdns/hetzner which is a dependency of caddy-dns/hetzner. If this gets updated to libdns v0.2.2, I can create a pull request for caddy-dns/hetzner. Hope this helps a bit.

caddy-dns/hetzner itself is working for me, too. Had no problems in the past.

Hobby-Student avatar Jul 31 '24 17:07 Hobby-Student

@Hobby-Student Nice. If it doesn't get merged after a while I gonna ping somebody with merge rights in that repo.

Monviech avatar Jul 31 '24 17:07 Monviech

I just found this after posting a request already. I'll request here and delete that.

Could you please add metaname ?

allluke avatar Aug 09 '24 04:08 allluke

I have already removed it before since it made some troubles with my build. It has to update dependencies, just like hetzner above

https://github.com/opnsense/plugins/blob/047c8ba20837f6e973fafb77130c35eaf04d759a/www/caddy/pkg-descr#L119

Another option is, of course, to choose another one, there are a lot of options compiled in.

Monviech avatar Aug 09 '24 04:08 Monviech

damn okay thanks On Friday, August 9th, 2024 at 4:37 PM, Monviech @.***> wrote:

I have already removed it before since it made some troubles with my build. It has to update dependencies, just like hetzner above

https://github.com/opnsense/plugins/blob/047c8ba20837f6e973fafb77130c35eaf04d759a/www/caddy/pkg-descr#L119

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

allluke avatar Aug 09 '24 04:08 allluke

@Hobby-Student Nice. If it doesn't get merged after a while I gonna ping somebody with merge rights in that repo.

@Monviech pull request got merged for libdns/hetzner. I'll wait for a new relase before creating the pull request for caddy-dns/hetzner

Hobby-Student avatar Aug 19 '24 05:08 Hobby-Student

@Hobby-Student You don't have to wait for a new release. Create a pseudo version. Compare to here: https://github.com/caddy-dns/easydns/pull/1

Just specify the latest commit hash for libdns as dependency and use go mod tidy to resolve it to a pseudo version.

Monviech avatar Aug 19 '24 06:08 Monviech

@Hobby-Student You don't have to wait for a new release. Create a pseudo version. Compare to here: caddy-dns/easydns#1

Just specify the latest commit hash for libdns as dependency and use go mod tidy to resolve it to a pseudo version.

@Monviech done. https://github.com/caddy-dns/hetzner/pull/12

go and the other dependencies got updated automatically. hope this is ok and not a showstopper?

Hobby-Student avatar Aug 19 '24 08:08 Hobby-Student

Go mod tidy automaticall updates all dependencies, its going to be okay. I will ping Matt again in a while so it can be merged. Thank you :)

Monviech avatar Aug 19 '24 09:08 Monviech

@Monviech caddy-dns/hetzner is also merged. Should I follow your instructions in post 1 to include hetzner or will you do this?

Hobby-Student avatar Aug 20 '24 19:08 Hobby-Student

@Hobby-Student I gonna do it. The dns provider stuff is a bit tricky. Thanks for taking care of the module upstream.

Monviech avatar Aug 20 '24 19:08 Monviech