I think it's worth to mention that many layered container images are published directly on the Fedora's Quay.io organisation ( https://quay.io/organization/fedora). The builds are not happening in OSBS or the Fedora infrastructure but IIRC it's a GitHub Action that does the build and pushes the container image. There could be an option to leverage Quay.io build capabilities too.
On Tue, 30 May 2023, 17:02 Owen Taylor, <otay...@redhat.com> wrote: > > > On Tue, May 30, 2023 at 9:47 AM Debarshi Ray <rishi...@lostca.se> wrote: > >> Hey Owen, >> >> On Mon, 2023-05-29 at 12:39 -0400, Owen Taylor wrote: >> > On Mon, May 29, 2023 at 8:16 AM Debarshi Ray via devel >> > <devel@lists.fedoraproject.org> wrote: >> > > >> > > My main concern, which I had brought up in the Release Engineering >> > > tickets before [1,2] is whether the fedora-toolbox images would >> > > continue to be defined as a Docker/Containerfile. I am asking >> > > because the fedora base images are defined as kickstart files [3]. >> > > >> > > There's some value in continuing to use a Docker/Containerfile >> > > because it's widely known and leads to a common workflow. It is >> > > used for the official Toolbx images for other distributions like >> > > Arch Linux, RHEL and Ubuntu, and a growing list of third-party >> > > Toolbx images [4]. A Docker/Containerfile is easy to use with >> > > 'podman build' as part of the upstream CI, which makes it easier to >> > > test all the different parts. >> > >> > Unfortunately, if we switched to using ImageFactory or pretty much >> > anything other than OSBS, we'd no longer be able to define the Fedora >> > toolbox image as a Dockerfile. It certainly is a disadvantage that >> > it's no longer connected to the way that the other toolbox images are >> > defined, >> >> It's an advantage to have the Fedora images be defined in the same >> source language as the Arch Linux and Ubuntu images, and certainly the >> RHEL images. However, ultimately, I see it only as a convenience. >> Folks can take the Fedora images as a reference and tweak them to fit >> their own distribution, or copy paste the files across Git >> repositories, etc.. If we lose that, then I would learn to live with >> it. :) >> > > I guess in this scenario, the Fedora images are no longer the reference > for creating things for other distributions and something else (RHEL, > Ubuntu, ...) would have to take over that role. For "tweaking", I'd think > we'd definitely want to promote "FROM fedora-toolbox:latest". > > >> If we do move away from Container/Dockerfiles, then my main question >> would be whether it'll still be easy to locally build the images. Will >> we need something a lot more elaborate than the simplicity of a 'podman >> build'? >> > > I haven't actually tried building the Fedora container images locally, > but it it looks relatively documented and straightforward, and someone > could write a shell script to automate it pretty easily. But it is still > going to require tools (ImageFactory) that people don't have installed and > probably take a while to run. It seems like more of a "want to contribute > to the the Fedora toolbox image" thing than a "would do it to run tests > when contributing to Toolbx" thing. > > Toolbx has two parts. A somewhat distro-agnostic toolbox(1) binary, >> and an OCI image for a distribution. Both work together to provide an >> interactive CLI environment, and hence both should be tested together. >> >> If a contributor attempts to change one or both of those two, then it >> should be easy for them to verify whether both would continue to work >> together. Currently, they can do that by doing a local 'podman build' >> on the image definitions in toolbox.git and try to use them with their >> modified toolbox(1) binary. I want to formalize this by making the >> upstream CI run against both: >> (a) images that are currently published on the OCI registries and >> (b) images that are built on-the-fly from the sources in toolbox.git >> > > In this scenario the Fedora Toolbx image definition would live in > fedora-kickstarts, so it doesn't really make sense for me that Toolbox CI > would *recreate it*, rather than just using the version from the repository. > > Ideally, we'd run the Toolbox tests against the newly built Toolbx image > as part of QE for the Fedora compose. > > >> ... so that it will validate any changes to the image sources in >> toolbox.git, and alert us to any changes in the underlying distribution >> (eg., packages, dependencies, base images, etc.) that could break >> future image rebuilds. >> >> Currently, the upstream CI runs only against (a). >> >> If we lose the simplicity of a 'podman build' then we lose the testing. >> That's my main worry. >> >> If the new set-up offers a similarly simple way of building the images >> from source, then I am happy. >> >> > but maybe that's bearable if we can substantially improve the >> > workflow? >> >> The phrase "we can substantially improve the workflow" makes me >> curious. Any details or pointers? >> > > What I mean by this was simply the obvious - that the Toolbx image is > built as part of the compose, and can be tested as part of the compose > validation. That nobody is sitting there manually typing 'fedpkg > container-build' and creating Bodhi updates. (*) > > - Owen > > (*) I'm not saying that this level of integration is impossible with OSBS > - in fact there is some level of Pungi support for OSBS container builds > already. Just that it's basically *already* there in Fedora for the base > images. > > _______________________________________________ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > Do not reply to spam, report it: > https://pagure.io/fedora-infrastructure/new_issue >
_______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue