From 7523f7e2e65968ad65d0d0144c9e41e1c7becd26 Mon Sep 17 00:00:00 2001 From: Michal Konecny Date: Wed, 30 Aug 2023 13:02:11 +0200 Subject: [PATCH] Add toolbx workflow and changes for quay.io This describes the whole toolbx workflow as it is and how it will be from F39+. Also describes the changes that need to be done in pipeline to make this work. Signed-off-by: Michal Konecny --- .../toolbox_workflow_registry.drawio.png | Bin 13651 -> 34177 bytes docs/registry_to_quay/toolbox.rst | 65 +++++++++++++++++- 2 files changed, 63 insertions(+), 2 deletions(-) diff --git a/docs/_static/toolbox_workflow_registry.drawio.png b/docs/_static/toolbox_workflow_registry.drawio.png index 3e9441999013ee9a5633911cfbb11d9e4c883851..c3fab8f80aa15eb14707b948bd91c0a12bead069 100644 GIT binary patch literal 34177 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�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 D%5; Current workflow ---------------- -The toolbox images are built using OSBS. The OSBS submits builds to +The toolbx images are currently built using OSBS. The OSBS submits builds to `candidate-registry.fedoraproject.org `_ using -dockercfg and releng script then push it to +dockercfg and user can create an update in Bodhi. After testing period is finished or the update +gets enough karma it is moved by bodhi to `registry.fedoraproject_org `_. +This will change in F39 where the images will be built by +`koji-flatpak `_ plugin. This plugin will submit the builds to +both `registry.fedoraproject_org `_ and +`quay.io `_. + .. image:: ../_static/toolbox_workflow_registry.drawio.png :target: ../_images/toolbox_workflow_registry.drawio.png Changes for quay.io ------------------- + +This section will describe changes that are needed to make quay.io work with current setup. +It will go through pipeline step by step and describe what needs to be changed in case of +toolbx workflow. + +OSBS +^^^^ +OSBS is using Openshift local container registry, which is configured by +`dockercfg `_ +file and pointing to candidate-registry. There is dockercfg for +`production `_ and `staging `_. +This dockercfg is used as a secret in OSBS and it's deployed in +`setup-worker-namespace `_ playbook. +To make this work with quay.io we need to replace the dockercfg with new one pointing to quay.io. + +.. note:: + + OSBS could have trouble reaching to quay.io, this needs to be solved for this to work. + +Koji +^^^^ +There is currently a initiative that is trying to remove OSBS from flatpak build pipeline. At +the time of writing this document this is only enabled for F39. But as the F38 flaptak runtime +will be considered EOL the `koji-flatpak `_ module will be the only +way. + +The koji-flatpak module is much direct, there is just one +`configuration file `_ +used to specify where the koji builders should push the build container. The `candidate-registry` +variable is set in `tasks/main`. + +Currently the builders don't have access to quay.io. The firewall settings needs to be adjusted +so they could push containers. + +Bodhi +^^^^^ + +Bodhi is pushing the container builds from candidate-registry.fedoraproject.org to +registry.fedoraproject.org and this is configured in +`production.ini template `_ +in ansible. + +To make it work with quay.io we just need to change `container.destination_registry` and +`container.source_registry` variables. + +.. note:: + + Bodhi wouldn't be part of the toolbx workflow in Fedora 39 and later. So no need to change + anything here. + +Toolbx +^^^^^^ + +Toolbx has the `registry.fedoraproject_org `_ set in code. +This needs to be changed before we completely switch to `quay.io `_.