refactor: change repository path to /srv/www/repo for SELinux compliance

- Update Caddy tasks and templates to serve from /srv/www/repo.
- Update Koji Hub export script to target /srv/www/repo/.
- Redeploy Caddy config via Ansible.
- Update ADR-05 and package compilation documentation.
- 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:
Rénich Bon Ćirić 2026-06-16 16:52:29 -06:00
commit b7c28ade88
Signed by: renich
GPG key ID: AB2A9F49384FE324
5 changed files with 8 additions and 7 deletions

View file

@ -31,14 +31,14 @@ Adoptaremos la siguiente estrategia técnica:
3. **Servidor de Repositorio Dedicado con Caddy**:
* Provisionamos una máquina virtual dedicada ``cs10-repo.mx-os`` mediante OpenTofu con un disco virtual del sistema redimensionado a 500 GB de capacidad.
* Automatizamos la instalación de Caddy, la configuración de firewalld para HTTP (puerto 80) y la creación del directorio ``/srv/repo/`` mediante el rol de Ansible ``caddy``.
* Automatizamos la instalación de Caddy, la configuración de firewalld para HTTP (puerto 80) y la creación del directorio ``/srv/www/repo/`` mediante el rol de Ansible ``caddy``.
* Caddy está configurado para servir y permitir el listado de este directorio (``file_server browse``), actuando como nuestro servidor de repositorio oficial.
4. **Exportación y Sincronización Automatizada vía Rsync**:
* Escribimos y desplegamos el script de exportación ``/root/export-koji-to-repo.py`` en el Koji Hub.
* Este script utiliza el API de Koji para listar todas las compilaciones completadas bajo el tag ``mxos0``, busca sus RPMs correspondientes en `/mnt/koji/packages/`, y los sincroniza mediante ``rsync`` al directorio ``/srv/repo/`` en ``cs10-repo.mx-os`` utilizando la llave SSH del usuario root de Koji Hub (previamente autorizada en el servidor de repositorio).
* Este script utiliza el API de Koji para listar todas las compilaciones completadas bajo el tag ``mxos0``, busca sus RPMs correspondientes en `/mnt/koji/packages/`, y los sincroniza mediante ``rsync`` al directorio ``/srv/www/repo/`` en ``cs10-repo.mx-os`` utilizando la llave SSH del usuario root de Koji Hub (previamente autorizada en el servidor de repositorio).
* El script filtra los archivos ``.src.rpm`` y los paquetes con sufijos ``debuginfo`` y ``debugsource``, exportando únicamente los RPMs binarios firmados.
* Tras la sincronización, el script ejecuta de forma remota el comando ``createrepo_c /srv/repo`` en el servidor de repositorios para regenerar los metadatos de DNF en caliente.
* Tras la sincronización, el script ejecuta de forma remota el comando ``createrepo_c /srv/www/repo`` en el servidor de repositorios para regenerar los metadatos de DNF en caliente.
Consecuencias
-------------