The developers of the openSUSE project have released version 8 of the Agama installer (formerly D-Installer), designed to replace the classic installation interface of SUSE and openSUSE, notable for separating the user interface from the internal components of YaST. Agama offers the ability to use various front-ends, such as a front-end for managing installation through a web interface. To test the new installer, live builds have been created for x86_64, ppc64le, s390x, and ARM64 architectures, supporting the installation of openSUSE Leap, the continuously updated build of openSUSE Tumbleweed, as well as several editions of SUSE ALP based on isolated containers.
The new installer provides the necessary capabilities to address tasks such as selecting an initial set of applications, configuring network connections, language, keyboard, time zone, and localization settings, preparing storage devices and partitioning, and adding users to the system. Among the main goals of Agama's development is the removal of existing limitations in the graphical interface, expanding the usability of YaST functionality in other applications, moving away from reliance on a single programming language, and encouraging the creation of alternative configurations by community members.
To install packages, check hardware, partition disks, and perform other necessary installation functions, Agama continues to use YaST libraries, on top of which layer services abstract access to the libraries via a unified communication protocol based on HTTP. The installer employs a multi-process architecture, ensuring that the user interaction interface remains responsive while other tasks are being executed. The basic interface for managing the installation is built using web technologies. The web interface is written in JavaScript using the React framework and PatternFly components. The messaging service and the built-in HTTP server are written in Ruby.
The new version introduces a new architecture, marking a shift from using ready-made modules developed by the Cockpit project towards an independent framework and an updated user interface. Instead of D-Bus, HTTP has been employed as the primary communication protocol for interaction between Agama components. Replacing D-Bus with HTTP has expanded the project's capabilities for integration with larger systems and simplified the organization of installations in automated mode.
Moving away from Cockpit has eliminated additional external dependencies. For instance, Cockpit relies on components written in Python and C, while Agama utilizes Ruby and Rust. The discontinuation of Cockpit has also freed developers from the limitations they faced when trying to implement an automated installation mode and redesign the storage configuration interface for optimal simplicity for beginners and functionality for experienced users.
Moreover, the introduction of the new architecture has significantly reduced the installer startup time and improved its performance while maintaining the option to use already tested low-level components. Among the features that have not yet been ported to the new implementation are the built-in terminal emulator and tools for managing DASD (Direct Access Storage Device) and zFCP (SCSI-over-Fibre Channel) devices.
In addition to the new architecture, Agama 8 offers a completely revamped and more functional interface for configuring storage and partitioning disks. This retains all the basic functionalities of the classic YaST storage configuration system while providing tools for advanced customization, along with an adaptation for easier comprehension by novices. For example, the new interface allows users to select the location of each partition or LVM logical volume, mount or reformat previously available file systems, configure encryption and boot parameters, and resize partitions.

Changes also include a new interface for selecting application sets, enhancements to full-disk encryption configuration based on TPM, a completely rewritten networking stack, upgrades to some widgets, improved interfaces for editing FS parameters and creating users, clearer visualization of issues encountered during installation, and support for 10 languages.
Agama 9 is expected to be released in a month, featuring a significant reorganization of the web interface, implementing capabilities that were missed during the transition to the new architecture, and expanding tools for automated installation without human intervention. The goal of this development is to ensure compatibility with AutoYaST and to provide the option to use Agama as an alternative to AutoYaST.
Source: opennet.ru
