Should we embed more plugin metadata at build time?

Regarding some tweets matt has made, I have a few ideas I would like to play with for a plugin selector / updater plugin.

I can get a list of plugins from the download page api endpoint, and I can sort of figure out what plugins are installed in my current instance, but I don’t really know what versions of each plugin are installed.That would be really useful information to have.

What if:

  1. root caddy package had a variable that holds a list of installed plugin metadata. Some struct similar to buildworker.CaddyPlugin. It will be initialized to empty.
  2. Build server could add a file to that directory when it performs a build. Generate a new list in an init function and set it.

That way, the running instance will have full metadata about which plugins it has, exactly what version, when they were released, and so forth.

Does that seem worthwhile? I can make a couple PRs if so.