Poll: We can end DNS provider plugins. Should we?

(Matt Holt) #1

Years ago when the DNS challenge was originally implemented in Caddy, compatibility with each DNS provider had to be a plugin, but that’s no longer the case.

We have the option of making all of lego’s ~50 DNS providers just work for all Caddy instances without needing special builds of Caddy.


Doing this will approximately double Caddy’s binary size from ~19 MB to ~40 MB.

Advantages of eliminating DNS provider plugins

  • No need for custom builds just to support the DNS challenge
  • Less maintenance required
  • More immediate support for Lego’s DNS providers without needing to keep our own repo in sync (this is a bit of a burden, tbh, since I also have to deploy them on the caddyserver.com site and for every new provider, it becomes more tedious…)


  • Much larger binary size (about 2x current size without plugins)


Worth it? (i.e. “Eliminate DNS provider plugins?”)

  • Yes (no more DNS provider plugins! large binary size OK)
  • No (keep binaries as small as possible)

0 voters

If you feel strongly, please discuss!

(Matt Holt) #2

(Matt Holt) #3

(Matt Holt) #4

(Peter Passchier) #5

Voted No because I don’t use any, and a smaller binary is nicer, but I totally understand if you want to integrate this and cut down on work and infrastructure. But once you go that route, I guess there is no way back, and it will become very difficult for anyone to ever get a smaller binary size (unless Go supports something like compiletime-conditionals??)