Github releases build with all plugins

Can we include all plugins into the github builds until caddy’s build server allows to specify exact versions?
This would solve two problems of caddy’s AUR package:

  1. I could use hashes again to check the package integrity. Currently I can’t provide a hash because the build server maybe delivers a different (new) build each time.
  2. An URL with all plugins contained as query parameters is too long for the AUR server, which is clearly not a caddy issue, but forces me to use an URL shortener in the package build instructions.

I know there is already a proposal for a new build system but including all plugins in the pre-built github releases would solve all of my packaging issues right away.


Plugins contained in the pre-built github binaries:

Server types:
  http

Caddyfile loaders:
  short
  flag
  default

Other plugins:
  http.basicauth
  http.bind
  http.browse
  http.errors
  http.expvar
  http.ext
  http.fastcgi
  http.gzip
  http.header
  http.internal
  http.log
  http.markdown
  http.mime
  http.pprof
  http.proxy
  http.redir
  http.rewrite
  http.root
  http.status
  http.templates
  http.websocket
  shutdown
  startup
  tls
  tls.storage.file

A build with all plugins:

Server types:
  http

Caddyfile loaders:
  short
  flag
  default

Other plugins:
  http.awslambda
  http.basicauth
  http.bind
  http.browse
  http.cors
  http.errors
  http.expvar
  http.ext
  http.fastcgi
  http.filemanager
  http.git
  http.gzip
  http.header
  http.hugo
  http.internal
  http.ipfilter
  http.jwt
  http.locale
  http.log
  http.mailout
  http.markdown
  http.mime
  http.minify
  http.multipass
  http.pprof
  http.prometheus
  http.proxy
  http.ratelimit
  http.realip
  http.redir
  http.rewrite
  http.root
  http.search
  http.status
  http.templates
  http.upload
  http.websocket
  shutdown
  startup
  tls
  tls.dns.cloudflare
  tls.dns.digitalocean
  tls.dns.dnsimple
  tls.dns.dyn
  tls.dns.gandi
  tls.dns.googlecloud
  tls.dns.namecheap
  tls.dns.rfc2136
  tls.dns.route53
  tls.dns.vultr
  tls.storage.file

Link to the AUR pacakge.

@matt How are the github releases build at the moment?

I’m averse to this idea for a few reasons…

  1. Plugins aren’t versioned or controlled the same way Caddy core is.
  2. Plugins aren’t vetted for security or stability, frankly. It’s a “use at your own risk” type of thing.
  3. When the build server goes down for maintenance, GitHub is the only place to to reliably get binaries. Also, if the build server has bugs, you can count on GitHub for plain working Caddy binaries.

So the point of the releases on GitHub are to just offer Caddy – plugins are a whole other matter. If you want to build Caddy with plugins yourself, you can do that too. We’re not gonna use GitHub releases to try to solve packaging issues.

3 Likes