elasticsearch/libs/cli
Rory Hunter 3018e52335
Introduce declarative plugin management (#77544)
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.
2021-11-15 14:41:11 +00:00
..
licenses Move cli sub-project out of server to libs (#31184) 2018-06-07 16:35:34 -04:00
src/main/java/org/elasticsearch/cli Introduce declarative plugin management (#77544) 2021-11-15 14:41:11 +00:00
build.gradle Update sources with new SSPL+Elastic-2.0 license headers 2021-02-02 16:10:53 -08:00