95 lines
2.9 KiB
ReStructuredText
95 lines
2.9 KiB
ReStructuredText
Migrate registry.fedoraproject.org to quay.io
|
|
=============================================
|
|
|
|
Purpose
|
|
-------
|
|
|
|
This investigation is looking into service `quay.io <https://quay.io/>`_ and how can we
|
|
utilize it for the projects hosted on `registry.fedoraproject.org
|
|
<https://registry.fedoraproject.org/>`_. It should also resolve if this is work should
|
|
be initiative.
|
|
|
|
Resources
|
|
---------
|
|
|
|
- Fedora Infrastructure ticket: https://pagure.io/fedora-infrastructure/issue/10386
|
|
|
|
Requirements
|
|
------------
|
|
|
|
- Multi Arch containers (Already supported on quay.io)
|
|
- OCI images (Already supported on quay.io)
|
|
- Web interface (Quay.io already has web interface)
|
|
- Integrate Quay.io in current workflow
|
|
- Must not affect users of images
|
|
- `candidate-registry <https://candidate-registry.fedoraproject.org/>`_ must be moved as
|
|
well
|
|
|
|
Nice to have
|
|
------------
|
|
|
|
- Staging namespace on quay.io
|
|
|
|
Risks
|
|
-----
|
|
|
|
- There is a `API endpoint throttling <https://docs.quay.io/issues/429.html>`_ per
|
|
second on IP address on quay.io. This could cause issues in the future, but current
|
|
load should be easily handled.
|
|
|
|
Statistics
|
|
----------
|
|
|
|
These statistical data were retrieved from `oci-registry.iad2.fedoraproject.org` machine
|
|
logs. The logs on the machine are kept only for few days. These data were obtained from
|
|
16th September 2023 to 21st September 2023 (it corresponds with release of Fedora 39
|
|
Beta).
|
|
|
|
- Number of downloads per day: 800 - 1 000
|
|
- Number of requests per day: 350 000 - 400 000
|
|
|
|
Investigation
|
|
-------------
|
|
|
|
The investigation is separated to multiple parts based on the current artifacts hosted
|
|
on registry: Fedora flatpaks, Fedora container images (base, minimal, coreos) and
|
|
toolbox images.
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
flatpaks
|
|
toolbox
|
|
fedora_images
|
|
|
|
Conclusions
|
|
-----------
|
|
|
|
Migrating `registry.fedoraproject.org <https://registry.fedoraproject.org/>`_ to
|
|
`quay.io <https://quay.io/>`_ doesn't seem to be initiative worthy. Especially with
|
|
changes happening in Fedora 39. There needs to be changes done to all three build
|
|
pipelines we investigated, but those aren't complex.
|
|
|
|
Recommendations
|
|
---------------
|
|
|
|
It will be best to first set everything on staging and then continue with production.
|
|
Only redirect the Fedora 39+ workflow and continue with step 4 after Fedora 38 will be
|
|
EOL.
|
|
|
|
Proposed Roadmap
|
|
----------------
|
|
|
|
- Step 1 - Create namespaces corresponding to candidate-registry and registry on
|
|
`quay.io <https://quay.io/>`_ (Optional: Create staging namespaces as well)
|
|
- Step 2 - Modify configurations and scripts (see corresponding investigation document
|
|
for what needs to be changed)
|
|
- Step 3 - Redirect proxies to `quay.io <https://quay.io/>`_
|
|
- Step 4 - Decommision `candidate-registry
|
|
<https://candidate-registry.fedoraproject.org/>`_ and `candidate-registry
|
|
<https://candidate-registry.fedoraproject.org/>`_
|
|
|
|
Estimate of work
|
|
----------------
|
|
|
|
This should be handled as normal ticket. It would need 1 sysadmin for 2-4 weeks.
|