Gli sviluppatori del progetto openSUSE hanno pubblicato un piano per lo sviluppo del nuovo installer Agama (ex D-Installer), progettato per sostituire l'interfaccia classica di installazione di SUSE e openSUSE, e che si distingue per la separazione dell'interfaccia utente dai componenti interni di YaST. Agama consente l'uso di diversi frontend, ad esempio un frontend per la gestione dell'installazione tramite interfaccia web. Per testare il nuovo installer si stanno creando build live per architetture x86_64 e ARM64, che supportano l'installazione di build continuamente aggiornate di openSUSE Tumbleweed, così come delle edizioni SUSE ALP, openSUSE MicroOS e openSUSE MicroOS Desktop, costruite su contenitori isolati.
Quest'anno sono previsti due significativi aggiornamenti per Agama. Il primo è previsto per metà aprile, mentre il secondo a metà luglio. L'aggiornamento di luglio si concentrerà sull'aumento della flessibilità e delle funzionalità legate all'installazione in modalità automatica, eseguita senza l'intervento umano. L'obiettivo dello sviluppo è portare Agama a poter essere utilizzato come alternativa all'utensile AutoYaST.
L'aggiornamento di aprile è notevole perché segna la fine dell'uso di moduli preconfezionati sviluppati dal progetto Cockpit, a favore di un framework più indipendente e un'interfaccia utente modernizzata. Abbandonare Cockpit permetterà di eliminare dipendenze esterne aggiuntive e rimuovere le restrizioni che ostacolavano l'implementazione di alcune idee. Ad esempio, Cockpit include nelle sue dipendenze componenti scritti in Python e C, mentre in Agama vengono utilizzati i linguaggi Ruby e Rust. L'abbandono di Cockpit libererà anche gli sviluppatori dai vincoli con cui hanno dovuto confrontarsi nel tentativo di implementare la modalità automatica di installazione e riprogettare l'interfaccia di configurazione dei repository per raggiungere un equilibrio ottimale tra semplicità per i principianti e funzionalità per utenti esperti.
Nella fase attuale dello sviluppo, nel nuovo installer sono già disponibili le funzionalità necessarie per affrontare compiti come la selezione di un set iniziale di applicazioni, la configurazione della connessione di rete, della lingua, della tastiera, del fuso orario e delle impostazioni di localizzazione, la preparazione del dispositivo di archiviazione e la partizione, e l'aggiunta di utenti al sistema. Tra gli obiettivi principali dello sviluppo di Agama si menziona l'eliminazione delle limitazioni dell'interfaccia grafica, l'espansione delle possibilità di utilizzo delle funzionalità di YaST in altre applicazioni, l'abbandono del legame con un unico linguaggio di programmazione (l'API D-Bus consentirà di creare estensioni in diversi linguaggi) e la promozione della creazione di impostazioni alternative da parte dei membri della community.

Per l'installazione dei pacchetti, il controllo dell'hardware, la partizione dei dischi e altre funzioni necessarie durante l'installazione, in Agama continuano a essere utilizzate le librerie YaST, sopra le quali sono implementati servizi di interfaccia che astraggono l'accesso alle librerie tramite un'interfaccia unificata D-Bus. L'installer utilizza un'architettura multiprocesso, che consente di non bloccare l'interfaccia di interazione con l'utente durante l'esecuzione di altre operazioni.
L'interfaccia di base per la gestione dell'installazione è costruita utilizzando tecnologie web e include un gestore che garantisce l'accesso alle chiamate D-Bus tramite HTTP, e direttamente all'interfaccia web. L'interfaccia web è scritta in JavaScript utilizzando il framework React e i componenti PatternFly. Il servizio per il collegamento dell'interfaccia a D-Bus, così come il server http integrato, sono scritti in linguaggio Ruby.
Fonte: opennet.ru
