Open ageis opened 7 years ago
This is something I'd like to provide, but I am not sure how to achieve it.
Some barriers:
For now, my recommendation is this:
1) Use the offline plugin management steps to create a pack of your preferred plugins 2) Install this pack after you upgrade Logstash.
Here's an alternative idea that we might be able to do. What if our offline plugin management could produce an rpm or deb? Then your workflow for upgrades would be:
1) Build an offline pack as an rpm or deb, let's call it logstash-favorite-plugins
version 1. Make this rpm/deb depend on logstash
at a given version (say, 5.3.0). This will require a small post-install step for logstash-favorite-plugins
that runs the correct bin/logstash-plugin install path/to/pack...
command.
2) Install the logstash-favorite-plugins
rpm/deb and it will depend on logstash 5.3.0 (as above) and you'll get Logstash 5.3.0 + your plugins
Next, when a new release comes out, repeat these steps.
3) Build an offline pack using Logstash 5.3.1. Call the rpm/deb logstash-favorite-plugins
version 2. make it depend on logstash
version 5.3.1
4) Instruct dnf/yum/apt to upgrade logstash-favorite-plugins
to version 2. This will upgrade Logstash (as a dependency) to 5.3.1.
Thoughts? We might be able to automate some of this (the deb/rpm creation w/ the correct post-install step to install the pack into logstash).
Every time that I upgrade Logstash, which sometimes could even be automatic through unattended_upgrades, I need to install non-default filters and plugins that are being used in my configuration since they get wiped out. It's cumbersome and creates extra work for users.
It would be great if these were preserved upon update... I know it's a little complicated since each version has its own own jruby/ruby environment and all that, but I'm sure there should be some way to capture a list of installed non-default Logstash plugins, and leverage a post-inst hook within the .deb package or some other mechanism to ensure they will be present.