-
Notifications
You must be signed in to change notification settings - Fork 24.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information
1 parent
63d0d66
commit 3018e52
Showing
48 changed files
with
2,070 additions
and
380 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Rename this file to `elasticsearch-plugins.yml` to use it. | ||
# | ||
# All plugins must be listed here. If you add a plugin to this list and run | ||
# `elasticsearch-plugin sync`, that plugin will be installed. If you remove | ||
# a plugin from this list, that plugin will be removed when Elasticsearch | ||
# next starts. | ||
|
||
plugins: | ||
# Each plugin must have an ID. Plugins with only an ID are official plugins and will be downloaded from Elastic. | ||
- id: example-id | ||
|
||
# Plugins can be specified by URL (it doesn't have to be HTTP, you could use e.g. `file:`) | ||
- id: example-with-url | ||
location: https://some.domain/path/example4.zip | ||
|
||
# Or by maven coordinates: | ||
- id: example-with-maven-url | ||
location: org.elasticsearch.plugins:example-plugin:1.2.3 | ||
|
||
# A proxy can also be configured per-plugin, if necessary | ||
- id: example-with-proxy | ||
location: https://some.domain/path/example.zip | ||
proxy: https://some.domain:1234 | ||
|
||
# Configures a proxy for all network access. Remove this if you don't need | ||
# to use a proxy. | ||
proxy: https://some.domain:1234 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 0 additions & 1 deletion
1
distribution/tools/plugin-cli/licenses/jackson-annotations-2.10.4.jar.sha1
This file was deleted.
Oops, something went wrong.
8 changes: 0 additions & 8 deletions
8
distribution/tools/plugin-cli/licenses/jackson-annotations-LICENSE
This file was deleted.
Oops, something went wrong.
20 changes: 0 additions & 20 deletions
20
distribution/tools/plugin-cli/licenses/jackson-annotations-NOTICE.txt
This file was deleted.
Oops, something went wrong.
1 change: 0 additions & 1 deletion
1
distribution/tools/plugin-cli/licenses/jackson-databind-2.10.4.jar.sha1
This file was deleted.
Oops, something went wrong.
8 changes: 0 additions & 8 deletions
8
distribution/tools/plugin-cli/licenses/jackson-databind-LICENSE
This file was deleted.
Oops, something went wrong.
20 changes: 0 additions & 20 deletions
20
distribution/tools/plugin-cli/licenses/jackson-databind-NOTICE.txt
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.