De ontwikkelaars van het openSUSE-project hebben versie 8 van de Agama-installatiewizard (vroeger D-Installer) uitgebracht, ontwikkeld ter vervanging van de klassieke installatie-interface van SUSE en openSUSE, en opmerkelijk vanwege de scheiding van de gebruikersinterface van de interne componenten van YaST. Agama biedt de mogelijkheid om verschillende front-ends te gebruiken, bijvoorbeeld een front-end voor het beheren van de installatie via een webinterface. Voor het testen van de nieuwe installer zijn live-builds gevormd voor de architecturen x86_64, ppc64le, s390x en ARM64, die de installatie van openSUSE Leap, de continu bijgewerkte build van openSUSE Tumbleweed, en verschillende edities van SUSE ALP op basis van geïsoleerde containers ondersteunen.
De nieuwe installer biedt de noodzakelijke functionaliteiten voor het oplossen van taken zoals het selecteren van een initiële verzameling toepassingen, het instellen van netwerkverbindingen, taal, toetsenbord, tijdzone en lokalisatie-instellingen, het voorbereiden van opslageenheden en het partitioneren, evenals het toevoegen van gebruikers aan het systeem. Onder de belangrijkste ontwikkeldoelen van Agama wordt het wegnemen van bestaande beperkingen van de grafische interface genoemd, het uitbreiden van de mogelijkheden om de functionaliteit van YaST in andere applicaties te gebruiken, het afstand nemen van de binding aan één programmeertaal en het stimuleren van de creatie van alternatieve instellingen door leden van de gemeenschap.
Voor het installeren van pakketten, het controleren van hardware, het partitioneren van schijven en andere noodzakelijke functies tijdens de installatie maakt Agama nog steeds gebruik van de YaST-bibliotheken, bovenop welke service-lagen zijn geïmplementeerd die toegang tot de bibliotheken abstraheren via een gestandaardiseerd communicatieprotocol op basis van HTTP. De installateur maakt gebruik van een multiprocessarchitectuur, waardoor de gebruikersinterface niet wordt geblokkeerd tijdens het uitvoeren van andere taken. De basisinterface voor installatiebeheer is gebouwd met behulp van webtechnologieën. De webinterface is geschreven in JavaScript met het React-framework en PatternFly-componenten. De berichtenservice, evenals de ingebouwde http-server, zijn geschreven in Ruby.
In de nieuwe versie is een nieuwe architectuur geïntroduceerd, die de overgang markeert van het gebruik van bestaande modules, ontwikkeld door het Cockpit-project, naar een onafhankelijk kader en een gemoderniseerde gebruikersinterface. In plaats van D-Bus als het belangrijkste communicatieprotocol voor interactie tussen de componenten van Agama, wordt HTTP gebruikt. De vervanging van D-Bus door HTTP heeft de mogelijkheden van het project uitgebreid voor integratie met grotere systemen en het eenvoudiger gemaakt om de installatie in geautomatiseerde modus te organiseren.
Het afstappen van Cockpit heeft extra externe afhankelijkheden geëlimineerd. Cockpit bevat afhankelijkheden van componenten geschreven in Python en C, terwijl Agama gebruikmaakt van Ruby en Rust. Het stoppen met Cockpit heeft de ontwikkelaars ook bevrijd van beperkingen waarmee ze te maken kregen bij het implementeren van de automatische installatiemodus en het herontwerpen van de opslagconfiguratie-interface om een optimale balans te bereiken tussen eenvoud voor beginners en functionaliteit voor ervaren gebruikers.
Bovendien heeft de nieuwe architectuur de opstarttijd van de installer aanzienlijk verkort en de prestaties verbeterd, terwijl de mogelijkheid om al bewezen low-level componenten te gebruiken behouden is gebleven. Onder de mogelijkheden die nog niet naar de nieuwe implementatie zijn overgezet, zijn een ingebouwde terminalemulator en tools voor het beheren van DASD (Direct Access Storage Device) en zFCP (SCSI-over-Fibre Channel) te noemen.
Naast de nieuwe architectuur biedt Agama 8 een volledig herontworpen en functionelere interface voor het configureren van opslag en het partitioneren van schijven. Deze interface behoudt alle basisfunctionaliteiten van het klassieke opslagconfiguratiesysteem YaST en biedt mogelijkheden voor uitgebreide aanpassing, maar is aangepast voor een eenvoudigere ervaring voor nieuwkomers. Zo kan de nieuwe interface de locatie van elke partitie of logisch volume LVM selecteren, eerder beschikbare bestandssystemen aankoppelen of opnieuw formatteren, encryptie en opstartparameters instellen, en de grootte van partities aanpassen.

Onder de wijzigingen is ook een nieuwe interface voor het selecteren van applicatiepakketten, verbeterde configuratie van volledige schijfversleuteling met TPM, een volledig herschreven netstack, modernisering van sommige widgets, verbeterde interfaces voor het aanpassen van FS-instellingen en het aanmaken van gebruikers, duidelijke visualisatie van problemen die tijdens installatie optreden, en ondersteuning voor 10 talen.
Over een maand wordt Agama 9 uitgebracht, waarin een aanzienlijke reorganisatie van de webinterface is gepland. Er zullen functionaliteiten die bij de overstap naar de nieuwe architectuur zijn gemist, worden gerealiseerd en ook de middelen voor automatische installatie zonder menselijke tussenkomst worden uitgebreid. Het doel van de ontwikkeling is om compatibiliteit met AutoYaST te waarborgen en de mogelijkheid te bieden om Agama als alternatief voor AutoYaST te gebruiken.
Bron: opennet.ru
