Udviklerne bag openSUSE-projektet har offentliggjort udgivelsen af installer Agama 10, som er udviklet til at erstatte den klassiske installationsgrænseflade for SUSE og openSUSE, og som bemærkes for at adskille brugergrænsefladen fra de interne komponenter af YaST. Agama giver mulighed for at bruge forskellige front-end løsninger, for eksempel en front-end til administrationsinstallation via webgrænseflade. Der er oprettet live-builds til test af den nye installer for arkitekturerne x86_64, ppc64le, s390x og ARM64, som understøtter installationen af alfa-versionen af openSUSE Leap 16, den løbende opdaterede build af openSUSE Tumbleweed og MicroOS-udgaven baseret på containere. Koden til installationskomponenterne distribueres under GPLv2-licensen og er skrevet i Ruby, Rust og JavaScript/TypeScript.

De primære mål for udviklingen af Agama er at fjerne de eksisterende begrænsninger fra den grafiske grænseflade, at udvide mulighederne for brugen af YaST-funktionalitet i andre applikationer, at fjerne bindingen til et enkelt programmeringssprog og at fremme oprettelsen af alternative indstillinger af fællesskabsrepræsentanter. Installeren indeholder funktioner som valg af et startprogramsæt, konfiguration af netværksforbindelse, sprog, tastatur, tidszone og lokaliseringsindstillinger, forberedelse af lagringsenheder og opdeling af partitioner, samt tilføjelse af brugere til systemet.
For installation af pakker, hardwarekontrol, diskpartitionering og andre nødvendige installationsfunktioner i Agama fortsætter bibliotekerne fra YaST med at blive anvendt, ovenpå hvilke der er implementeret lag-service, der abstraherer adgangen til bibliotekerne via en ensartet kommunikationsprotokol baseret på HTTP. Installeren bruger en multiprocessarkitektur, hvilket gør, at brugerinteraktionen ikke blokeres under udførelsen af andre opgaver. Den grundlæggende brugergrænseflade til administrationsinstallation er bygget ved hjælp af webteknologier. Webgrænsefladen er skrevet i JavaScript med brug af React-frameworket og PatternFly-komponenter. Tjenesten til meddelelser samt den indbyggede http-server er skrevet i Ruby.
I den nye version:
- Funktionen til at generere en QR-kode, der indeholder et link til at åbne web-interface til installatøren i browseren, er blevet tilføjet, hvilket gør tilslutningen til installatøren fra en smartphone lettere.

- Der er tilføjet komponenter til syntaksfremhævning, som bruges ved redigering af filen for konfiguration i JSON-format med kommandoen «agama config edit». Vim kaldes som standard til redigering (man kan angive en anden editor via miljøvariablen EDITOR).

- I den automatiske installationsmodus er muligheden for at oprette LVM-partitionsgrupper, logiske LVM-partitioner samt LVM-pools og partitioner med dynamisk pladsering (thin provisioning) blevet implementeret. Brug af eksisterende logiske partitioner og partitionsgrupper understøttes endnu ikke. To tilstande for automatisk sletning af partitioner er blevet tilføjet — ubetinget sletning og sletning kun efter behov (når der ikke er nok plads til at oprette de angivne partitioner).
- Der er tilføjet en bootparameter «agama.install_url», som giver mulighed for at angive en URL til et repository til installation af pakker, som er forskellig fra det repository, der er angivet i konfigurationen.
- Muligheden for at udvikle komponenter til web-interface til installatøren i Typescript er blevet tilbyder. Fremadskuende har udviklerne til hensigt gradvist at oversætte koden fra JavaScript til Typescript efter behov.
- I web-interfacet til styring af tilstanden asynkront er rammeværket TanStack Query implementeret.
- Størrelsen på det lager, der er tilgængeligt til installation af yderligere pakker efter download i live-tilstand, er udvidet fra 500 MB til 3,5 GB.
- Til automatiseret test af web-interfacet er JavaScript-biblioteket Puppeteer blevet anvendt i stedet for systemet Playwright.
- Kontrolkomponenterne til installatøren, der kaldes fra kommandolinjen, er blevet oversat fra DBus til at bruge en HTTP-klient, der henvender sig til den indbyggede HTTP-server i installatøren.
Kilde: opennet.ru


