================================== Roadmap de Desarrollo de MxOS Koji ================================== Este roadmap define el camino a seguir para el desarrollo y optimización de la infraestructura de compilación de MxOS. El enfoque prioritario es lograr la compatibilidad absoluta con CentOS Stream 10 antes de introducir optimizaciones adicionales. Igualacion a CentOS Stream -------------------------- El primer hito es replicar los mecanismos de compilación y firma oficiales para ser compatibles con CentOS Stream: * **Estandarización de Fuentes (Lookaside Cache)**: * Adoptar el script oficial `get_sources.sh` o su equivalente compatible con el formato de la caché lookaside. * Modificar los scripts de sincronización locales para integrarse con la estructura oficial. * **Firma con Sigul Oficial**: * Desplegar en staging el servidor y el puente de Sigul (`sigul-server` y `sigul-bridge`) usando certificados TLS dedicados y políticas de ACL de Sigul. * Configurar e importar llaves GPG reales de pruebas en el servidor de Sigul. * Reescribir el plugin de Koji Hub (`sigul_sign.py`) para invocar el cliente `sigul` oficial. * **Políticas de SCM en el Hub**: * Restringir el Koji Hub mediante la propiedad `AllowedSCMs` para forzar las compilaciones a partir de los repositorios Git en `git.mx-os.mx/RPMs/`. Branding de Koji a MxOS ----------------------- Para personalizar la interfaz de Koji Web con la identidad gráfica de MxOS (utilizando los recursos de logotipos en SVG en la raíz del proyecto): * **Conversión de Recursos Gráficos**: * Utilizar herramientas nativas de CentOS Stream 10 para convertir los archivos de logotipos SVG (``mxos.svg`` y ``mxos-reducido.svg``) a formato PNG con la resolución adecuada para Koji Web. * **Creación de Tema para Koji Web**: * Implementar el rol de Ansible para crear el directorio del tema en `/usr/share/koji-web/static/themes/mxos/`. * Copiar el logotipo de MxOS en `images/koji.png` dentro del tema. * Personalizar la hoja de estilos `koji.css` del tema mxos para aplicar la paleta de colores y estilos corporativos. * **Configuración del Tema en el Servidor**: * Configurar `KojiTheme = mxos` y `SiteName = MxOS Koji` en `/etc/kojiweb/web.conf` a través de las plantillas del rol `koji_hub`. Planes de Mejora y Escalabilidad -------------------------------- Una vez alcanzada la paridad técnica con CentOS Stream, se procederá con las siguientes mejoras de infraestructura y automatización: * **Asincronía vía Bus de Mensajes**: * Reemplazar los callbacks locales por la emisión de mensajes AMQP mediante `koji-messagebus` (RabbitMQ). * Crear un servicio consumidor de firmas autónomo que escuche los eventos de compilación terminada para firmar paquetes asíncronamente sin afectar a Apache. * **Autenticación Centralizada (Kerberos)**: * Integrar FreeIPA o Red Hat IDM para autenticar de manera segura a los builders y desarrolladores. * Configurar `sssd` en los nodos y configurar `mod_auth_gssapi` en Koji Hub y Koji Web. * **Múltiples Builders**: * Escalar horizontalmente el número de Koji Builders activos, asociándolos a canales especializados (como compilar arquitecturas secundarias o tareas prioritarias).