ansible-koji/docs/technical/decisiones/2026-06-16-01-migracion_sigul_y_lookaside_centos.rst
Rénich Bon Ćirić 89d6f66be8
feat: Integración de Siguldry PKCS#11 y spooler de firmas
* Implementación del rol de Ansible 'siguldry' para CentOS Stream 10
* Migración del plugin de firmas de Koji Hub a un spooler asíncrono
* Modificación de roles para utilizar empaquetamiento RPM nativo de siguldry-pkcs11
* Documentación de decisiones (ADRs) y roadmap en docs/technical/
* Limpieza de binarios locales pesados de PKCS#11 en Ansible

Co-developed-by: Gemini AI <renich+gemini@woralelandia.com>
Signed-off-by: Rénich Bon Ćirić <renich@woralelandia.com>
2026-06-16 10:06:44 -06:00

3.1 KiB

Decisión de Diseño: Migración a Sigul Real y Lookaside CentOS

Este registro documenta la decisión de diseño de migrar a una infraestructura real de Sigul, estandarizar el lookaside cache para asemejarse a CentOS Stream, y posponer la autenticación basada en Kerberos en el entorno de staging.

Contexto

Para la distribución MxOS, es crucial emular la infraestructura de CentOS Stream 10 para garantizar compatibilidad, permitir la colaboración ascendente, y facilitar un entorno realista de aprendizaje.

Durante el desarrollo de la prueba de concepto (PoC) en staging: * Se implementó un emulador de firmas basado en una aplicación Flask simulada. * Se utilizó un script de descarga de fuentes personalizado en Mock que imita la estructura de CentOS Stream pero carece de integración oficial de herramientas de empaquetado. * Se consideró la integración de Kerberos (GSSAPI) para la autenticación en Koji. Sin embargo, no se dispone de un servidor FreeIPA inmediatamente y la máquina anfitrión de staging cuenta con recursos de hardware limitados que dificultan la ejecución de un nodo de identidad adicional.

Decisión

Se han tomado las siguientes decisiones de diseño:

  • Migrar a Sigul Real: Reemplazar el servidor Flask simulado por una implementación real de Sigul, compuesta por los demonios sigul-server (aislado) y sigul-bridge (intermediario), junto con el cliente sigul en lote.

  • Estandarizar Lookaside Cache: Alinear la estructura del lookaside cache y el script de obtención de fuentes con la herramienta estándar get_sources.sh y el formato oficial del archivo sources de CentOS Stream.

  • Posponer Kerberos: Mantener la autenticación en Koji mediante certificados SSL (TLS) en staging, y documentar el diseño de Kerberos/FreeIPA para implementaciones de producción de alta disponibilidad en el roadmap técnico.

Justificación

  • Seguridad y Paridad: El flujo de firmas real con Sigul previene que las llaves GPG de producción estén en contacto con Koji Hub o con Apache mod_wsgi, manteniendo las llaves seguras e igualando la arquitectura de producción de Red Hat/CentOS.

  • Limitación de Recursos: Prescindir de FreeIPA en staging permite que el entorno local se ejecute sin sobrecargar de memoria y procesamiento la máquina anfitrión, mientras se mantiene el foco en el flujo de compilación y empaquetado.

  • Facilidad de Colaboración: La estandarización de los metadatos Git y el lookaside cache asegura que los repositorios de paquetes de MxOS puedan interactuar limpiamente con otras instancias de Koji o herramientas de CentOS Stream.

Consecuencias

  • Se requiere configurar una PKI adicional para la comunicación segura entre el Hub, el puente y el servidor de Sigul.

  • Se deben actualizar los playbooks de Ansible para configurar Sigul y remover el servidor mock Flask.

  • La autenticación por certificados SSL (TLS) seguirá siendo el mecanismo principal para las conexiones de administración y compilación en staging.