Razvijači projekta openSUSE objavili su izdanje instalera Agama 10, razvijenog kao zamena za klasični interfejs instalacije SUSE i openSUSE, ističući odvajanje korisničkog interfejsa od unutrašnjih komponenti YaST-a. Agama omogućava korišćenje različitih frontend-a, na primer, frontenda za upravljanje instalacijom putem web-interfejsa. Za testiranje novog instalera formirane su live-gradnje za arhitekture x86_64, ppc64le, s390x i ARM64, podržavajući instalaciju alfa verzije openSUSE Leap 16, kontinuirano ažurirane gradnje openSUSE Tumbleweed i izdanje MicroOS zasnovano na kontejnerima. Kod komponenti instalera distribuira se pod GPLv2 licencom i pisan je na jezicima Ruby, Rust i JavaScript/TypeScript.

Osnovni ciljevi razvoja Agama su eliminisanje postojećih ograničenja grafičkog interfejsa, proširenje mogućnosti korišćenja funkcionalnosti YaST-a u drugim aplikacijama, odstupanje od vezanosti za jedan programski jezik i podsticanje stvaranja alternativnih podešavanja od strane članova zajednice. Installer sadrži funkcije kao što su izbor početnog skupa aplikacija, podešavanje mrežne povezanosti, jezika, tastature, vremenske zone i opcija lokalizacije, priprema uređaja za skladištenje i particionisanje, dodavanje korisnika u sistem.
Za instalaciju paketa, proveru hardvera, particionisanje diskova i druge neophodne funkcije tokom instalacije, Agama i dalje koristi biblioteke YaST, uz koje su implementirane servisne slojeve koje apstrahuju pristup bibliotekama putem uniformnog komunikacionog protokola zasnovanog na HTTP-u. Installer koristi višepostavnu arhitekturu, zahvaljujući kojoj interfejs za interakciju sa korisnikom nije blokiran tokom izvršavanja drugih zadataka. Osnovni interfejs za upravljanje instalacijom izgrađen je korišćenjem web-tehnologija. Web-interfejs je napisan u JavaScript-u koristeći React okvir i PatternFly komponente. Servis za razmenu poruka, kao i ugrađeni HTTP server, su napisani na jeziku Ruby.
V novi različici:
- Dodana je možnost generiranja QR kode, ki vsebuje povezavo za odpiranje spletnega vmesnika namestitvenega programa v brskalniku, kar poenostavi povezavo z namestitvenim programom s pametnim telefonom.

- Dodani so bili komponenti za osvetlitev sintakse, ki se uporabljajo pri urejanju datoteke konfiguracije v formatu JSON z ukazom «agama config edit». Privzeto se za urejanje uporablja Vim (preko okoljske spremenljivke EDITOR lahko navedete katerikoli drug urejevalnik).

- V načinu samodejne namestitve je bila uvedena možnost ustvarjanja skupin particij LVM, logičnih particij LVM ter bazenov in particij LVM z dinamičnim dodeljevanjem prostora v shranjevanju (thin provisioning). Uporaba že obstoječih logičnih particij in skupin particij zaenkrat ni podprta. Dodana sta dva načina samodejnega brisanja particij — neomejeno brisanje in brisanje samo po potrebi (ko ni dovolj prostora za ustvarjanje navedenih particij).
- Dodana je zagonna možnost «agama.install_url», preko katere lahko navedete URL repozitorija za namestitev paketov, ki se razlikuje od repozitorija, navedenega v konfiguraciji.
- Omogočena je razvoj komponent spletnega vmesnika namestitvenega programa v jeziku Typescript. V prihodnje nameravajo razvijalci postopoma prevajati kodo iz JavaScripta v Typescript, kot bo potrebno.
- V spletni vmesnik za upravljanje s stanjem v asinhronem načinu je vključen okvir TanStack Query.
- Velikost shranjevanja, dostopnega za namestitev dodatnih paketov po nalaganju v Live način, je bila razširjena s 500 MB na 3,5 GB.
- Za avtomatizirano testiranje spletnega vmesnika namesto sistema Playwright je bila uporabljena knjižnica Puppeteer za JavaScript.
- Komponente za upravljanje z namestitvenim programom, ki se zaženejo iz ukazne vrstice, so bile prenesene z DBus na uporabo HTTP odjemalca, ki se povezuje z vgrajenim HTTP strežnikom namestitvenega programa.
Izvor: opennet.ru


