Replies: 3 comments 3 replies
-
In my experience, this has not been the case since at least Fedora 30, at least as a workstation OS |
Beta Was this translation helpful? Give feedback.
-
ping. Can we resurrect this discussion on an alternative base image use since the original main premise of getting latest Go builds with Fedora ASAP has become (with recent Go developments) largely irrelevant? Technically, it should be possible to go with either Alpine or UBI9 with Alpine potentially offering more image size savings, however for the price of Go depending on musl libc implementation instead of glibc - this may be a complete non-issue for us, just mentioning it upfront. We could also consider a multi-stage build of the container image for further reduction of image size, e.g. Go depends on GCC but that's only due to |
Beta Was this translation helpful? Give feedback.
-
This is a tangential topic, but it might also be nice to "pin" the digest of whichever container image we choose and have it updated in a deliberate manner by some tool (dependabot, renovate, etc.) if possible. I can remember a few times we've been burned in the past by surprise package updates in our images. |
Beta Was this translation helpful? Give feedback.
-
Background
We've historically based the cachi2 container on Fedora releases since it provides the latest toolchains we may need to be able to support latest versions of our list of supported package managers. A recent example would be
go
for which we'd need to wait for the next major Fedora release to actually get the latest 1.21. While that sounds plausible, we always need to keep an eye on Fedora release cycle so that we don't stay on an EOL'd release accidentally and becausego
's (or any other toolchain) release cycle isn't aligned with Fedora, we might need to wait up to 6 months (worst case scenario) to get the contents we need for upstream work.Another thing to consider is that while Fedora provides the latest contents and maintainers are doing tremendous job at trying to keep everything smooth, it is also a not a distro known for stability, so in that regard providing a tool based on a stable and well maintained base image using strict rules for its curated contents may be a way forward.
Proposal
Given the connection to the App Studio project/org it might make sense for us to consider moving to one of the UBI 9 images from Red Hat (there are other options too), mainly because UBIs follow the same best practices as regular RHEL installations, but unlike those, UBIs are free to use for application containers.
While ^this definitely addresses the stability/security POV (which let's be fair hasn't been a problem for us so far), it does quite poorly with regards to getting fresh content - more specifically, we'd have to start pulling toolkits directly from their respective vendors content streams, e.g.
curl https://go.dev/dl/go1.21.4.linux-amd64.tar.gz
and install it directly.Benefits
Drawbacks
Example solution
example Dockerfile:
example Dockerfile:
Beta Was this translation helpful? Give feedback.
All reactions