-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Configurable strategy to control GraalVM build image pulling #33691
Comments
cc @cescoffier |
@yrodiere Wow... I didn't know that
|
(PS: that would avoid having to re-implement the logic using a docker/podman client). |
I just noticed Lines 51 to 64 in f2f24be
Unfortunately |
The |
Ah, in that case simply using |
Apparently there's another reason to do an explicit Lines 47 to 50 in 9aaa021
I'll try to find an alternative to |
Follows up on quarkusio#33749. I forgot to remove this code that was just a remainder of an earlier approach which didn't go anywhere (quarkusio#33691 (comment)). Keeping this code could in theory lead to extra pulls when using quarkus.native.build-image.pull='always' (the default) and the image gets updated right while we're building, but more importantly it could lead to extra, unecessary queries to quay.io, so let's avoid that.
Follows up on quarkusio#33749. I forgot to remove this code that was just a remainder of an earlier approach which didn't go anywhere (quarkusio#33691 (comment)). Keeping this code could in theory lead to extra pulls when using quarkus.native.build-image.pull='always' (the default) and the image gets updated right while we're building, but more importantly it could lead to extra, unecessary queries to quay.io, so let's avoid that.
Description
When you don't have GraalVM in the path, but have podman/docker installed on your system, Quarkus will default to running the native GraalVM build in a container on podman/docker. Which is great.
One point of pain, though, is that the container images used for the build are floating images: the tags get updated every week to point to a "fresh" image. That's good for security, but for development environments it's a bit overkill and implies frequent re-downloads that may not be acceptable on non-fiber connections.
It could be a good idea to allow configuring the GraalVM build image pulling strategy, e.g.
-Dquarkus.native.container-build.pull=always|missing
? That way one would be able to set the environment variableQUARKUS_NATIVE_CONTAINER_BUILD_PULL=missing
on one's development environment and they would only download a new image when Quarkus switches to a new tag of the image.See also https://groups.google.com/d/msgid/quarkus-dev/CAKW6fifUP93da%3DZs%2BfqpxtQ6C3yrA5DcdK8OF69AcDirUFh-fA%40mail.gmail.com?utm_medium=email&utm_source=footer
Implementation ideas
I may be missing something, but we could just forward the strategy to
docker run
/podman run
through--pull always|missing|never
?There's been talks of using
docker-client
in the thread on the mailing list, but I must admit I don't see how that's related to this issue.The text was updated successfully, but these errors were encountered: