feat: deploy Caddy repository server for BaseOS packages
- Provision cs10-repo.mx-os VM with 500 GB system disk using OpenTofu. - Create and apply Ansible role to install and configure Caddy to serve /srv/repo/. - Update Koji Hub export script to rsync signed binary RPMs to the repo server and trigger createrepo_c. - Record ADR-05 detailing this design decision and update package compilation guide. - Log progress in the project journal. Co-developed-by: Gemini AI <renich+gemini@woralelandia.com> Signed-off-by: Rénich Bon Ćirić <renich@woralelandia.com>
This commit is contained in:
parent
06e8edfc4f
commit
c290878c96
9 changed files with 243 additions and 19 deletions
|
|
@ -100,21 +100,23 @@ Puedes supervisar el progreso de las tareas leyendo su archivo de bitácora o li
|
|||
tail -f /var/log/bootstrap-baseos.log
|
||||
koji list-tasks --mine
|
||||
|
||||
Exportación de Paquetes al Registro Forgejo
|
||||
===========================================
|
||||
Exportación de Paquetes al Servidor de Repositorio (Caddy)
|
||||
==========================================================
|
||||
|
||||
El registro final para alojar y servir nuestros paquetes RPM oficiales para consumo de DNF es el Registro de Paquetes de Forgejo (``git.mx-os.mx/api/packages/RPMs/rpm``).
|
||||
El repositorio final para alojar y servir nuestros paquetes RPM oficiales para consumo de DNF se hospeda en el servidor dedicado ``cs10-repo.mx-os`` mediante el servidor web Caddy. El repositorio está expuesto públicamente en ``http://cs10-repo.mx-os/``.
|
||||
|
||||
Para automatizar la exportación de todos los paquetes RPM que Koji ha compilado y firmado exitosamente, se utiliza el script ``/root/export-koji-to-forgejo.py``. Este script:
|
||||
Para automatizar la exportación y sincronización de todos los paquetes RPM que Koji ha compilado y firmado exitosamente, se utiliza el script ``/root/export-koji-to-repo.py`` en el Koji Hub. Este script:
|
||||
|
||||
1. Consulta todas las compilaciones completadas bajo la etiqueta ``mxos0``.
|
||||
2. Localiza los RPMs firmados en el almacenamiento compartido de Koji (``/mnt/koji/packages/``).
|
||||
3. Filtra archivos fuentes (``.src.rpm``) y subpaquetes de depuración (``debuginfo`` y ``debugsource``).
|
||||
4. Sube por HTTP PUT cada RPM binario firmado al registro Forgejo de la organización ``RPMs``.
|
||||
4. Utiliza ``rsync`` para sincronizar los RPMs binarios firmados hacia el directorio ``/srv/repo/`` en el servidor ``cs10-repo.mx-os``.
|
||||
5. Ejecuta de forma remota el comando ``createrepo_c /srv/repo`` en el servidor de repositorios para regenerar los metadatos de DNF.
|
||||
|
||||
Para ejecutar la exportación manualmente de todos los paquetes listos, ejecuta en Koji Hub:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo python3 /root/export-koji-to-forgejo.py
|
||||
sudo python3 /root/export-koji-to-repo.py
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue