Introduce declarative plugin management#77544
Conversation
Also fix how the cloud-ess image depends on the cloud image.
|
@mark-vieira I've added support for testing plugin installation on all Docker flavours, using the I also tried to re-enable |
mark-vieira
left a comment
There was a problem hiding this comment.
👍 Yeah, I need to go back and fix the plugin tests as a result of the example plugin refactoring.
|
I talked to Cloud Delivery and it doesn't look like the wrapper script is being used, so we're good to merge. |
|
Oh, and I will add docs but I think that'll require some collaboration with the Docs folks, so I'll do that separately. |
Closes elastic#70219. Introduce a declarative way for the Elasticsearch server to manage plugins, which reads the `elasticsearch-plugins.yml` file and works which out plugins need to be added and / or removed to match the configuration. Also make it possible to configure a proxy in the config file, instead of through the environment. Most of the work of adding and removing is still done in the `InstallPluginAction` and `RemovePluginAction` classes, so the behaviour should be the same as with the `install` and `remove` commands. However, these commands will now abort if the above config file exists. The intent is to make it harder for the configuration to drift. This new method only applies to `docker` distribution types at the moment. Since this syncing mechanism declarative, rather than imperative, the Cloud-specific plugin wrapper script is no longer required. Instead, an environment variable informs `InstallPluginAction` to install plugins from an archive directory instead of downloading them, where possible.
Closes #70219. Introduce a declarative way for the Elasticsearch server to manage plugins, which reads the `elasticsearch-plugins.yml` file and works which out plugins need to be added and / or removed to match the configuration. Also make it possible to configure a proxy in the config file, instead of through the environment. Most of the work of adding and removing is still done in the `InstallPluginAction` and `RemovePluginAction` classes, so the behaviour should be the same as with the `install` and `remove` commands. However, these commands will now abort if the above config file exists. The intent is to make it harder for the configuration to drift. This new method only applies to `docker` distribution types at the moment. Since this syncing mechanism declarative, rather than imperative, the Cloud-specific plugin wrapper script is no longer required. Instead, an environment variable informs `InstallPluginAction` to install plugins from an archive directory instead of downloading them, where possible.
|
I think we missed backporting this to 8.0 although we did to 7.16. |
Closes #70219. Introduce a declarative way for the Elasticsearch server to manage plugins, which reads the `elasticsearch-plugins.yml` file and works which out plugins need to be added and / or removed to match the configuration. Also make it possible to configure a proxy in the config file, instead of through the environment. Most of the work of adding and removing is still done in the `InstallPluginAction` and `RemovePluginAction` classes, so the behaviour should be the same as with the `install` and `remove` commands. However, these commands will now abort if the above config file exists. The intent is to make it harder for the configuration to drift. This new method only applies to `docker` distribution types at the moment. Since this syncing mechanism declarative, rather than imperative, the Cloud-specific plugin wrapper script is no longer required. Instead, an environment variable informs `InstallPluginAction` to install plugins from an archive directory instead of downloading them, where possible.
|
Sorry - backported to |
Closes #70219.
Introduce a declarative way for the Elasticsearch server to manage plugins, which reads the
elasticsearch-plugins.ymlfile and works which plugins need to be added and / or removed to match the configuration. Also make it possible to configure a proxy in the config file, instead of through the environment.Most of the work of adding and removing is still done in the
InstallPluginActionandRemovePluginActionclasses, so the behaviour should be the same as with theinstallandremovecommands. However, these commands will now abort if the above config file exists. The intent is to make it harder for the configuration to drift.This new method only applies to
dockerdistribution types at the moment.Since this syncing mechanism declarative, rather than imperative, the Cloud-specific plugin wrapper script is no longer required. Instead, an environment variable informs
InstallPluginActionto install plugins from an archive directory instead of downloading them, where possible.