-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce Docker image that bundles plugins #50443
Comments
Pinging @elastic/es-core-infra (:Core/Infra/Plugins) |
We discussed this during our weekly team discussion meeting. There are several concerns here:
So, rather than producing another image as part of our build that raises some concerns for us, we would like that we revisit the initial motivations for producing a with plugins image. |
I confirm that this was implemented in 0bcd13415431696242dc52759613f1753f99d623 and in ESS since March 2019. That said, it took a bit over 60s to install 11 plugins (enabling every eligible choice) in a 1G RAM 7.5.1 single node deployment. Pinging @nachogiljaldo @pboutes in case I am missing something on that. |
@pmoust yes, that boosting has been in place for a long time (longer than March 2019 I believe). Of course the idea of allowing installing several plugins at once would be very nice as it would speed up the startup time when plugins are selected. However, IMHO, the main problem falls under the goal/idea of having Cloud run the stack docker images and the current need for us to have the plugins as part of the image. As mentioned before, stack docker images do not bundle any plugins, but we need certain plugins to be bundled.
On an air-gapped ECE installation, the script would try to download the plugins and it would fail and with it the startup of the deployment. A proxy, and accordingly added firewall rules, would fix the issue, but it would also complicate the installation of ECE and the infrastructure itself. FWIW, there are other things that we could do:
|
I opened #50924.
That's the piece that we are challenging (the need to have the plugins as part of the image).
As mentioned in the initial comment, the idea is that the proxy would serve them locally, not reach out to the Internet.
This is fine with us too. |
I think it's worth implementing multiple plugins removal as well. Not only it'd be super useful for Cloud, but also we'd have consistent interface for plugin management. @jasontedor WDYT? |
@mieciu Sorry for the delay. Can you expand on why it'd be super-useful for Cloud? One of the challenges with batching plugin removal into a single invocation of the |
No worries at all! The case I was having in mind was a rolling plan change. If user unchecks few plugins, before booting ES with the new settings our startup script would iterate over list of plugins and remove it one by one invoking However, I can imagine removing series of plugins during that specific way of plan change isn't pretty common scenario and maybe super-useful was an exaggeration, sorry about this 🙂 |
Closing this is a duplicate of #66474. |
Related:
The Elasticsearch Docker image does not bundle any plugins at the moment. This issue is to discuss whether it would be useful to provide a further Docker image that bundles the official plugins, and provides a mechanism to enable them via e.g. an environment variable.
Such an image would also be useful to Cloud, who currently have to perform their own bundling, which I understand is a cumbersome process. I am assuming that the Stack release process would have an easier time of building the plugins that match the particular release and bundling them into the Docker image.
### Implementation sketch
We could provide images, say
elasticsearch/elasticsearch-with-plugins
(and an analogue for OSS), which provides all official plugins in/usr/share/elasticsearch/plugins-archive
. The bootstrap script would detect an environment variable such asELASTIC_PLUGINS
, and use this to enable the specified plugins before starting Elasticsearch.Customers who need to bundle their own plugins could simple copy their plugins to the archive directory, and reuse the install mechanism.
The text was updated successfully, but these errors were encountered: