Los desarrolladores del proyecto openSUSE han publicado un plan para el desarrollo de un nuevo instalador llamado Agama (anteriormente D-Installer), que se está desarrollando para reemplazar la interfaz clásica de instalación de SUSE y openSUSE, destacándose por separar la interfaz de usuario de los componentes internos de YaST. Agama ofrece la posibilidad de utilizar diferentes frontends, como un frontend para gestionar la instalación a través de una interfaz web. Se están formando compilaciones en vivo para las arquitecturas x86_64 y ARM64 para probar el nuevo instalador, que soportan la instalación de la versión continuamente actualizada de openSUSE Tumbleweed, así como las ediciones de SUSE ALP, openSUSE MicroOS y openSUSE MicroOS Desktop, construidas sobre la base de contenedores aislados.
Para este año, se han programado dos actualizaciones significativas de Agama. La primera se espera para mediados de abril y la segunda a mediados de julio. La actualización de julio se centrará en aumentar la flexibilidad y funcionalidad relacionada con la instalación en modo automático, llevada a cabo sin intervención humana. El objetivo del desarrollo es llevar a Agama a la posibilidad de ser utilizado como alternativa a la herramienta AutoYaST.
La actualización de abril es notable por la interrupción del uso de módulos preparados, desarrollados por el proyecto Cockpit, en favor de un marco más independiente y una interfaz de usuario modernizada. Alejarse de Cockpit permitirá eliminar dependencias externas adicionales y deshacerse de las limitaciones que obstaculizaban la implementación de algunas ideas. Por ejemplo, Cockpit contiene en sus dependencias componentes en lenguajes Python y C, mientras que en Agama se utilizan los lenguajes Ruby y Rust. La interrupción del uso de Cockpit también liberará a los desarrolladores de las restricciones que encontraron al tratar de implementar el modo de instalación automática y rediseñar la interfaz de configuración de los almacenes para lograr un equilibrio óptimo entre la simplicidad para principiantes y la funcionalidad para usuarios experimentados.
En la etapa actual de desarrollo, el nuevo instalador ya ofrece las funcionalidades necesarias para abordar tareas como seleccionar un conjunto inicial de aplicaciones, configurar la conexión de red, el idioma, el teclado, la zona horaria y los parámetros de localización, preparar el dispositivo de almacenamiento y particionar, así como añadir usuarios al sistema. Entre los principales objetivos del desarrollo de Agama se menciona la eliminación de las limitaciones del interfaz gráfico, la ampliación de las capacidades de uso de la funcionalidad de YaST en otras aplicaciones, la desvinculación de un único lenguaje de programación (la API de D-Bus permitirá crear extensiones en diferentes lenguajes) y el fomento de la creación de configuraciones alternativas por parte de la comunidad.

Para la instalación de paquetes, la verificación de hardware, la partición de discos y otras funciones necesarias durante la instalación, Agama sigue utilizando bibliotecas de YaST, sobre las cuales se han implementado servicios intermedios que abstraen el acceso a las bibliotecas a través de una interfaz D-Bus unificada. El instalador utiliza una arquitectura multiprocesos, lo que asegura que la interfaz de interacción con el usuario no se bloquea durante la ejecución de otras tareas.
La interfaz básica para gestionar la instalación se ha construido utilizando tecnologías web e incluye un manejador que permite el acceso a las llamadas de D-Bus a través de HTTP y la interfaz web en sí. La interfaz web está escrita en JavaScript utilizando el framework React y componentes de PatternFly. El servicio para vincular la interfaz a D-Bus, así como el servidor http integrado, están escritos en Ruby.
Fuente: opennet.ru
