Twórcy projektu openSUSE opublikowali plan rozwoju nowego instalatora Agama (dawniej D-Installer), który jest rozwijany w celu zastąpienia klasycznego interfejsu instalacyjnego SUSE i openSUSE, i wyróżnia się oddzieleniem interfejsu użytkownika od wewnętrznych komponentów YaST. Agama zapewnia możliwość korzystania z różnych front-endów, takich jak front-end do zarządzania instalacją za pośrednictwem interfejsu internetowego. Aby przetestować nowego instalatora, tworzone są kompilacje na żywo dla architektur x86_64 i ARM64, obsługujące instalację stale aktualizowanej kompilacji openSUSE Tumbleweed, a także edycji SUSE ALP, openSUSE MicroOS i openSUSE MicroOS Desktop zbudowanych na podstawie izolowanych kontenerów.
W tym roku zaplanowano dwie duże aktualizacje Agama. Pierwsza jest zaplanowana na połowę kwietnia, a druga na połowę lipca. Aktualizacja lipcowa będzie koncentrować się na zwiększeniu elastyczności i funkcjonalności związanych z automatycznymi instalacjami, które są wykonywane bez ingerencji człowieka. Celem rozwoju jest doprowadzenie Agama do punktu, w którym może być używana jako alternatywa dla zestawu narzędzi AutoYaST.
Aktualizacja z kwietnia wyróżnia się zaprzestaniem stosowania gotowych modułów opracowanych przez projekt Cockpit na rzecz bardziej niezależnego frameworka i zmodernizowanego interfejsu użytkownika. Odejście od Cockpit wyeliminuje dodatkowe zależności zewnętrzne i pozbędzie się ograniczeń, które uniemożliwiają wdrożenie niektórych pomysłów. Na przykład Cockpit obejmuje zależności w Pythonie i C, podczas gdy Agama używa Ruby i Rust. Wycofanie Cockpit uwolni również programistów od ograniczeń, na które natrafili, próbując wdrożyć tryb automatycznej instalacji, i przerobi interfejs konfiguracji repozytorium, 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 oferuje już możliwości niezbędne do realizacji takich zadań, jak wybór początkowego zestawu aplikacji, skonfigurowanie połączenia sieciowego, języka, klawiatury, strefy czasowej i parametrów lokalizacji, przygotowanie urządzenia pamięci masowej i podział partycji, dodawanie użytkowników do systemu. Główne cele rozwoju Agamy obejmują wyeliminowanie istniejących ograniczeń interfejsu graficznego, rozszerzenie możliwości wykorzystania funkcjonalności YaST w innych aplikacjach, odejście od przywiązania do jednego języka programowania (API D-Bus umożliwi tworzenie dodatków w różnych językach) oraz zachęcanie członków społeczności do tworzenia alternatywnych ustawień.

Do instalowania pakietów, sprawdzania sprzętu, partycjonowania dysków i innych funkcji wymaganych podczas instalacji Agama nadal używa bibliotek YaST, na których implementowane są usługi warstwy, abstrahując dostęp do bibliotek za pośrednictwem zunifikowanego interfejsu D-Bus. Instalator używa architektury wieloprocesowej, dzięki czemu interfejs użytkownika nie jest blokowany podczas innych prac.
Podstawowy interfejs do zarządzania instalacją jest zbudowany przy użyciu technologii internetowych i obejmuje handler, który zapewnia dostęp do wywołań D-Bus przez HTTP, a także sam interfejs internetowy. Interfejs internetowy jest napisany w JavaScript przy użyciu frameworka React i komponentów PatternFly. Usługa wiązania interfejsu z D-Bus, a także wbudowany serwer http, są napisane w Ruby.
Źródło: opennet.ru
