Declarative plugin management #6428
Labels
Component: PeerTube Plugin 📦
Features that can be developed in a plugin, but require PeerTube plugin API development
Type: Discussion 💭
Describe the problem to be solved
For the NGI-funded Summer of Nix project, we (@Infinidoge and I) are looking into how peertube plugins can be managed declaratively within a NixOS module.
From our understanding, plugins can only be installed imperatively: Start the CLI & tell it to install a plugin, and peertube will trigger a state change in the database to register the plugin and look for it in its plugin directory on startup. This extra requirement on a certain database state is a major pain point for our endeavour.
A previous effort around this found a workaround by
storage.plugins
package.jsonstorage.plugins
But we think this extra plugin management around your own plugin management is very unsatisfying & hacky solution.
Describe the solution you would like
We would like to find solution that doesn't rely on us doing plugin management around your plugin management.
Maybe there could be a way to tell peertube to read a list of additional plugins from somewhere, or have it automagically find additional plugins if they're in a certain directory.
Ideal for us (I think) would be a way to completely lock down the imperative plugin management and have it be fully managed by the external mechanism, so we can ensure that only the plugins the user desires are available to peertube.
The text was updated successfully, but these errors were encountered: