Programiści projektu openSUSE opublikowali plan rozwoju nowego instalatora Agama (dawniej D-Installer), który jest rozwijany w celu zastąpienia klasycznego interfejsu instalacji SUSE i openSUSE oraz oddzielenia interfejsu użytkownika od wewnętrznych komponentów YaST. Agama umożliwia korzystanie z różnych front-endów, na przykład front-endu do zarządzania instalacją przez interfejs webowy. W celu przetestowania nowego instalatora tworzone są obrazy live dla architektur x86_64 i ARM64, które wspierają instalację ciągle aktualizowanej wersji openSUSE Tumbleweed, a także edycji SUSE ALP, openSUSE MicroOS oraz openSUSE MicroOS Desktop, zbudowanych na bazie izolowanych kontenerów.
Na ten rok zaplanowane są dwie znaczące aktualizacje Agama. Pierwsza ma być przedstawiona w połowie kwietnia, a druga w połowie lipca. Lipcowa aktualizacja skoncentruje się na zwiększeniu elastyczności i funkcjonalności związanej z instalacją w trybie automatycznym, przeprowadzanej bez udziału człowieka. Celem rozwoju jest osiągnięcie przez Agama możliwości bycia alternatywą dla narzędzia AutoYaST.
Kwietniowa aktualizacja wyróżnia się zakończeniem użycia gotowych modułów rozwijanych przez projekt Cockpit na rzecz bardziej niezależnego frameworka i zmodernizowanego interfejsu użytkownika. Odejście od zależności od Cockpit pozwoli wyeliminować dodatkowe zewnętrzne zależności i pozbyć się ograniczeń utrudniających realizację niektórych pomysłów. Na przykład Cockpit zawiera w zależnościach komponenty w językach Python i C, podczas gdy w Agama stosowane są języki Ruby i Rust. Zakończenie użycia Cockpit również uwolni programistów od ograniczeń, z którymi spotkali się przy próbach wdrożenia trybu automatycznego instalacji oraz przeróbki interfejsu konfiguracji repozytoriów, aby osiągnąć optymalną równowagę między prostotą dla początkujących a funkcjonalnością dla doświadczonych użytkowników.
Na obecnym etapie rozwoju nowy instalator już oferuje możliwości niezbędne do rozwiązywania takich zadań, jak wybór początkowego zestawu aplikacji, konfiguracja połączenia sieciowego, języka, klawiatury, strefy czasowej i parametrów lokalizacji, przygotowanie urządzenia pamięci masowej oraz partycjonowanie, a także dodawanie użytkowników do systemu. Wśród głównych celów rozwoju Agama wymienia się wyeliminowanie istniejących ograniczeń interfejsu graficznego, rozszerzenie możliwości wykorzystania funkcjonalności YaST w innych aplikacjach, rezygnację z przywiązania do jednego języka programowania (D-Bus API umożliwi tworzenie nakładek w różnych językach) oraz stymulowanie tworzenia alternatywnych ustawień przez przedstawicieli społeczności.

Do instalacji pakietów, sprawdzania sprzętu, partycjonowania dysków oraz innych niezbędnych funkcji podczas instalacji w Agama nadal wykorzystywane są biblioteki YaST, na których zbudowane są usługi pośredniczące, abstrahujące dostęp do bibliotek za pomocą zunifikowanego interfejsu D-Bus. W instalatorze zastosowano wieloprocesową architekturę, dzięki czemu interfejs użytkownika nie jest blokowany podczas wykonywania innych operacji.
Podstawowy interfejs do zarządzania instalacją został zbudowany z wykorzystaniem technologii webowych i zawiera handler, który zapewnia dostęp do wywołań D-Bus przez HTTP oraz bezpośredni interfejs webowy. Interfejs webowy napisano w JavaScript z wykorzystaniem frameworka React i komponentów PatternFly. Usługa do powiązania interfejsu z D-Bus oraz wbudowany serwer http są napisane w języku Ruby.
Źródło: opennet.ru
