Vývojáři projektu openSUSE zveřejnili plán na rozvoj nového instalátoru Agama (dříve D-Installer), který se vyvíjí jako náhrada za klasické rozhraní instalace SUSE a openSUSE. Tento instalátor je zajímavý tím, že odděluje uživatelské rozhraní od vnitřních komponent YaST. Agama zahrnuje možnost použití různých frontendů, například frontend pro správu instalace prostřednictvím webového rozhraní. Pro testování nového instalátoru se vytvářejí live verze pro architektury x86_64 a ARM64, které podporují instalaci průběžně aktualizované verze openSUSE Tumbleweed a také edice SUSE ALP, openSUSE MicroOS a openSUSE MicroOS Desktop založené na izolovaných kontejnerech.
Na tento rok jsou plánována dvě významná aktualizace Agama. První by měla být představena v polovině dubna, zatímco druhá v polovině července. Červencová aktualizace se zaměří na zvyšování flexibility a funkcionality automatického režimu instalace, který probíhá bez účasti uživatele. Cílem vývoje je přivést Agama k možnosti sloužit jako alternativa k nástroji AutoYaST.
Dubenová aktualizace se vyznačuje ukončením používání hotových modulů vyvíjených projektem Cockpit ve prospěch využívání nezávislejšího rámce a modernizovaného uživatelského rozhraní. Opustit závislost na Cockpit přinese výhody v podobě vyloučení dalších externích závislostí a odstranění omezení, která bránila realizaci některých nápadů. Například Cockpit zahrnuje závislosti na komponentách napsaných v jazycích Python a C, zatímco Agama využívá jazyky Ruby a Rust. Ukončení používání Cockpit také zbaví vývojáře problémů, s nimiž se setkávali při pokusech o implementaci automatického režimu instalace a přepracování rozhraní nastavení úložišť tak, aby dosáhli optimální rovnováhy mezi jednoduchostí pro začátečníky a funkcionalitou pro pokročilé uživatele.
V aktuální fázi vývoje nového instalátoru se již poskytují funkce nezbytné pro řešení úloh, jako je výběr počátečního souboru aplikací, konfigurace síťového připojení, jazyka, klávesnice, časového pásma a lokalizačních nastavení, příprava úložného zařízení a rozdělení oddílů, přidávání uživatelů do systému. Mezi hlavní cíle vývoje Agama patří odstranění stávajících omezení grafického rozhraní, rozšíření použití funkčnosti YaST v jiných aplikacích, odchýlení se od vazby na jeden programovací jazyk (D-Bus API umožní vytváření rozšíření v různých jazycích) a podpora vytváření alternativních nastavení zástupci komunity.

Pro instalaci balíčků, kontrolu hardwaru, rozdělení disků a další nezbytné funkce během instalace se v Agama stále používají knihovny YaST, nad kterými jsou implementovány mezivrstvy služeb, které abstrahují přístup k knihovnám prostřednictvím sjednoceného D-Bus rozhraní. V instalátoru se používá vícestupňová architektura, díky které není blokováno uživatelské rozhraní během provádění dalších úkonů.
Základní rozhraní pro správu instalace je postaveno pomocí webových technologií a zahrnuje zpracovatele, který zajišťuje přístup k voláním D-Bus přes HTTP, a přímo webové rozhraní. Webové rozhraní je napsáno v JavaScriptu s použitím frameworku React a komponentů PatternFly. Služba pro připojení rozhraní k D-Bus, stejně jako vestavěný http-server, jsou napsány v Ruby.
Zdroj: opennet.ru
