Os desenvolvedores do projeto openSUSE publicaram um plano para o desenvolvimento de um novo instalador Agama (anteriormente D-Installer), que está sendo desenvolvido para substituir a interface clássica de instalação do SUSE e openSUSE, destacando a separação da interface do usuário dos componentes internos do YaST. O Agama oferece a possibilidade de usar diferentes front-ends, como um frontend para gerenciar a instalação através de uma interface web. Para testar o novo instalador, estão sendo formadas builds ao vivo para as arquiteturas x86_64 e ARM64, que suportam a instalação da build continuamente atualizada do openSUSE Tumbleweed, bem como edições do SUSE ALP, openSUSE MicroOS e openSUSE MicroOS Desktop, construídas sobre containers isolados.
Para este ano, estão programadas duas atualizações significativas do Agama. A primeira está prevista para ser lançada em meados de abril, enquanto a segunda ocorrerá em meados de julho. A atualização de julho terá como foco aumentar a flexibilidade e a funcionalidade relacionadas à instalação em modo automático, realizada sem a intervenção humana. O objetivo do desenvolvimento é levar o Agama à condição de ser uma alternativa ao conjunto de ferramentas AutoYaST.
A atualização de abril é notável pela interrupção do uso de módulos prontos, desenvolvidos pelo projeto Cockpit, em favor de um framework mais independente e uma interface de usuário modernizada. A saída da dependência do Cockpit permitirá eliminar dependências externas adicionais e se livrar das limitações que impedem a implementação de algumas ideias. Por exemplo, o Cockpit contém em suas dependências componentes escritos nas linguagens Python e C, enquanto o Agama utiliza as linguagens Ruby e Rust. A interrupção do uso do Cockpit também livrará os desenvolvedores de limitações que enfrentaram ao tentar implementar o modo de instalação automática e reformular a interface de configuração de repositórios para alcançar um equilíbrio ideal entre simplicidade para iniciantes e funcionalidade para usuários experientes.
Na atual fase de desenvolvimento, o novo instalador já oferece as funcionalidades necessárias para realizar tarefas como a escolha de um conjunto inicial de aplicativos, configuração da conexão de rede, idioma, teclado, fuso horário e parâmetros de localização, preparação do dispositivo de armazenamento e particionamento, além de adicionar usuários ao sistema. Entre os principais objetivos do desenvolvimento do Agama está a eliminação das restrições existentes na interface gráfica, a ampliação das capacidades de utilização da funcionalidade YaST em outros aplicativos, a desvinculação de uma única linguagem de programação (a API D-Bus permitirá a criação de extensões em diferentes linguagens) e o estímulo à criação de configurações alternativas por parte da comunidade.

Para a instalação de pacotes, verificação de hardware, particionamento de discos e outras funções necessárias durante a instalação, continuam a ser utilizadas as bibliotecas YaST no Agama, sobre as quais são implementados serviços intermediários que abstraem o acesso às bibliotecas através de uma interface unificada D-Bus. O instalador utiliza uma arquitetura multiprocessada, graças à qual a interface de interação com o usuário não fica bloqueada durante a execução de outros trabalhos.
A interface básica para gerenciamento da instalação é construída com tecnologias da web e inclui um manipulador que proporciona acesso às chamadas D-Bus através de HTTP, além da interface web propriamente dita. A interface web é escrita em JavaScript usando o framework React e componentes PatternFly. O serviço para vincular a interface ao D-Bus, bem como o servidor http embutido, são escritos na linguagem Ruby.
Fonte: opennet.ru
