Os desenvolvedores do projeto openSUSE lançaram uma nova versão do instalador Agama (anteriormente D-Installer), desenvolvido para substituir a interface clássica de instalação do SUSE e openSUSE, destacando-se pela separação da interface do usuário dos componentes internos do YaST. O Agama oferece a capacidade de usar diferentes front-ends, como um front-end para gerenciar a instalação através de uma interface web. Para a instalação de pacotes, verificação de hardware, particionamento de discos e outras funções necessárias durante a instalação, as bibliotecas do YaST continuam a ser utilizadas, sobre as quais são implementados serviços intermediários que abstraem o acesso às bibliotecas através de uma interface unificada D-Bus.
Para testes, foram formadas compilações live com o novo instalador (x86_64, ARM64), suportando a instalação da versão continuamente atualizada do openSUSE Tumbleweed, além das edições openSUSE Leap Micro, SUSE ALP e openSUSE Leap 16, baseadas em contêineres isolados.


A interface básica para gerenciamento da instalação foi construída utilizando tecnologias web e inclui um manipulador que fornece acesso a chamadas D-Bus através de HTTP, e diretamente a interface web. A interface web é escrita em JavaScript utilizando o framework React e componentes PatternFly. O serviço que vincula a interface ao D-Bus, bem como o servidor http embutido, são escritos na linguagem Ruby e construídos utilizando módulos prontos desenvolvidos pelo projeto Cockpit, que também são aplicados nos configuradores web da Red Hat. O instalador utiliza uma arquitetura multiprocessada, permitindo que a interface do usuário não seja bloqueada durante a execução de outras tarefas.

Na atual fase de desenvolvimento, o instalador oferece serviços responsáveis pela gestão do processo de instalação, configuração do conteúdo do produto e da lista de programas a serem instalados, definição de idioma, teclado e opções de localização, preparação do dispositivo de armazenamento e particionamento, exibição de dicas e informações auxiliares, adição de usuários ao sistema e configuração de conexão à rede.
Entre os objetivos do desenvolvimento do Agama, menciona-se a eliminação das limitações da interface gráfica existente, a ampliação da capacidade de utilizar a funcionalidade do YaST em outros aplicativos, a desvinculação de uma única linguagem de programação (a API D-Bus permitirá criar extensões em diferentes linguagens) e a promoção da criação de configurações alternativas pelos representantes da comunidade.
A interface do Agama foi projetada para ser o mais simples possível para o usuário, eliminando a possibilidade de instalação seletiva de pacotes. Neste momento, os desenvolvedores estão discutindo possíveis opções para implementar uma interface mais simplificada para a escolha dos programas a serem instalados (o protótipo principal considera a separação de categorias com base em modelos típicos de uso, como ambientes gráficos, ferramentas para contêineres, ferramentas para desenvolvedores, entre outros).
Fonte: opennet.ru
