============================================================= 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.