Registry.fedoraproject.org to quay.io migration

Hi, I’m currently working on Issue #10386: Investigate moving registry.fp.o to quay.io - fedora-infrastructure - Pagure.io and looking into what needs to be done in case of toolbox images. I already talked with @sumantrom on Flock and currently trying to comprehend how the build pipeline is working.

Here is a what I currently have for the build process. Could you look at it and let me know if this is correct?

1 Like

So, for Fedora 37 and Fedora 38 is mostly correct.

The ‘releng scripts’ part is actually bodhi.

For example:
https://bodhi.fedoraproject.org/updates/FEDORA-CONTAINER-2023-e20492c8c0
is the most recent f38 update of it.

When it goes to stable, bodhi copies it from the candidate-registry to
the main registry.

For Fedora 39 and rawhide and moving forward the flow is slightly
different:

releng script (nightly.sh or other cron job) →

koji builds container using flatpak plugin →

container is pushed to registry and quay.io both.

(ie, OSBS is out of the pipeline and so is bodhi at least for now).

So the build pipeline is actually the same as in case of flatpaks as I see. Let me adjust that.

Just one question: How the container will be pushed to quay.io? is this done by koji flatpak plugin or by some other means?

So here is updated diagram with assumption that the push is done by koji-builder?

This would mean that there isn’t much needed when migrating to quay.io.

Will this be same for Fedora Base/Minimal images as well? That is the next on my list.

EDIT: One more question: I see that the flatpak.conf is only pushing to candidate-registry, is there a different configuration file for toolbx images?

EDIT2: And here is the PR for ARC investigation document.

So here is updated diagram with assumption that the push is done by koji-builder?

Thats close, but not 100%…

In the second case it’s:

releng cron/script starts build →
koji builds toolbox container image using imagefactory →
build is pushed to quay.io/registry.fedoraproject.org by releng
cron/script.

For flatpaks its:

flatpak maintainer starts a flatpak build →
koji builds flatpak with flatpak plugin →
build pushed to candidate registry by flatpak plugin →
bodhi update is made →
testing →
bodhi pushes to registry

This would mean that there isn’t much needed when migrating to quay.io.

Yeah, once the f37/f38 stuff is gone, the newer setup shouldn’t need
much for toolbox at least.

Will this be same for Fedora Base/Minimal images as well? That is the next on my list.

Yep. The ‘new’ toolbox setup (in f39+) is exactly the same as the fedora
base image and fedora minimal image.

One downside here is that the path for base image/toolbox/minimal image
doesn’t use bodhi, so there’s no place to run CI or do testing.
So, we might want to change that… would have to talk to QE about it.

kevin

1 Like

So I updated the PR and the diagram as well.

I’m not sure if I found the correct releng script, but I think so.

Yeah, that looks pretty much correct I think.

The toolbox investigation is now updated. Thanks for the help :slight_smile: