-
Notifications
You must be signed in to change notification settings - Fork 25k
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
Remove curl
from the Docker image
#81177
Comments
Pinging @elastic/es-delivery (Team:Delivery) |
Just a thought - would there be any benefit to providing a simple implementation of the |
It's a good thought, but I don't think there'd be much benefit to that. I assume that as implemented today, the
I'd rather avoid the intermediate implementation since it doesn't offer many advantages over the first, until we get the long-term solution. |
By long-term solution I presume you are referring to #81168, in which case I've mentioned in that issue that having a tool similar to what @pugnascotia is describing might indeed be quite useful. It would still be backed by some generic endpoint but I can see the benefit in bundling a tool that effectively acts as a client to to that endpoint. |
The long-term solution is |
The credentials part is the show-stopper. We could generate credentials at startup, but then we'd need to store them somewhere, etc, and it would rapidly become more effort than it was worth. |
The Helm charts also use curl, as does our Iron Bank Docker image, though the latter can use the proposed readiness command. |
Today the Elasticsearch Docker image contains the
curl
package and related dependencies. We would like to seecurl
removed from the Docker image because it's a common source of CVEs. Today, there are two internal dependencies oncurl
being in the image:docker-compose
health checks (e.g., in the Wildyfly tests, among many others)Removing the dependency on
curl
from ECK will be addressed by #81168. The purpose of this issue to capture the request to removecurl
from the Elasticsearch Docker image, and propose a path forward for the second dependency, the usage ofcurl
within the Elasticsearch test suite.I propose the introduction of an
es_isready
CLI application. This would be a simple Java-based application using the native Java HTTP client, that hits the unauthenticated readiness endpoint proposed in #81168. With the introduction ofes_isready
, thedocker-compose
health checks that rely oncurl
could be replaced to usees_isready
instead. The behavior ofes_isready
would be straightforward: if the unauthenticated readiness endpoint from #81168 returns 200, thenes_isready
returns status code 0, and otherwise returns status code 1.@pugnascotia, let me know if I'm missing any context from our discussion.
The text was updated successfully, but these errors were encountered: