Programeri openSUSE projekta objavili su izdanje instalacijskog programa Agama 10, koji se razvija kako bi zamijenio klasično SUSE i openSUSE instalacijsko sučelje, a poznato je po odvajanju korisničkog sučelja od internog YaST-a. Agama pruža mogućnost korištenja različitih sučelja, na primjer, sučelja za upravljanje instalacijom putem web sučelja. Kako bi se testirao novi instalacijski program, stvorene su verzije uživo za x86_64, ppc64le, s390x i ARM64 arhitekture, koje podržavaju instalaciju alfa verzije openSUSE Leap 16, kontinuirano ažurirane verzije openSUSE Tumbleweed i izdanja MicroOS-a temeljenog na spremnicima. Kod komponente programa za instalaciju distribuira se pod GPLv2 licencom i napisan je u Ruby, Rust i JavaScript/TypeScript.

Glavni ciljevi razvoja Agame su eliminirati postojeća ograničenja grafičkog sučelja, proširiti mogućnost korištenja YaST funkcionalnosti u drugim aplikacijama, izbjeći vezivanje za jedan programski jezik i potaknuti stvaranje alternativnih postavki od strane članova zajednice. Instalacijski program sadrži funkcije kao što su odabir početnog skupa aplikacija, postavljanje mrežne veze, jezika, tipkovnice, vremenske zone i postavki lokalizacije, pripremanje uređaja za pohranu i particioniranje, dodavanje korisnika u sustav.
Za instaliranje paketa, provjeru opreme, particionih diskova i drugih funkcija potrebnih za instalaciju, Agama nastavlja koristiti YaST biblioteke, povrh kojih su implementirane usluge slojeva koje apstrahiraju pristup bibliotekama putem objedinjenog komunikacijskog protokola temeljenog na HTTP-u. Instalacijski program koristi višeprocesnu arhitekturu, zahvaljujući kojoj korisničko sučelje nije blokirano dok se drugi poslovi obavljaju. Osnovno sučelje za upravljanje instalacijom izgrađeno je pomoću web tehnologija. Web sučelje je napisano u JavaScriptu koristeći React framework i PatternFly komponente. Usluga razmjene poruka, kao i ugrađeni http poslužitelj, napisan u Rubyju.
U novoj verziji:
- Dodana je mogućnost generiranja QR koda koji sadrži poveznicu za otvaranje web sučelja programa za instalaciju u pregledniku, što pojednostavljuje povezivanje s programom za instaliranje s pametnog telefona.

- Dodane komponente za označavanje sintakse, koje se koriste prilikom uređivanja konfiguracijske datoteke u JSON formatu s naredbom “agama config edit”. Za uređivanje, Vim se poziva prema zadanim postavkama (možete odrediti bilo koji drugi uređivač kroz varijablu okruženja EDITOR).

- U automatskom načinu instalacije moguće je kreirati grupe LVM particija, logičkih LVM particija, kao i bazena i LVM particija s dinamičkom dodjelom prostora za pohranu (thin provisioning). Korištenje već postojećih logičkih particija i grupa particija još nije podržano. Dodana su dva načina za automatsko brisanje particija - bezuvjetno brisanje i brisanje samo kada je potrebno (kada nema dovoljno prostora za stvaranje navedenih particija).
- Dodan je parametar pokretanja "agama.install_url", putem kojeg možete navesti URL spremišta za instaliranje paketa koji nije repozitorij naveden u konfiguraciji.
- Moguće je razviti komponente web sučelja instalatera u Typescriptu. U budućnosti programeri prema potrebi namjeravaju postupno prenijeti kod iz JavaScripta u Typescript.
- Web sučelje koristi okvir TanStack Query za upravljanje stanjem u asinkronom načinu rada.
- Količina dostupnog prostora za pohranu za instaliranje dodatnih paketa nakon preuzimanja u načinu rada uživo proširena je s 500 MB na 3.5 GB.
- Za automatizirano testiranje web sučelja koristi se Puppeteer JavaScript biblioteka umjesto sustava Playwright.
- Komponente upravljanja instalacijskim programom koje se pokreću iz naredbenog retka prebačene su s DBus-a na korištenje HTTP klijenta koji pristupa HTTP poslužitelju ugrađenom u instalacijski program.
Izvor: opennet.ru


