New Web Interface Introduced in openSUSE Project’s Agama 9 Installer

The developers of the openSUSE project published release of the installer Agama 9 (formerly D-Installer), which is being developed to replace the classic SUSE and openSUSE installation interface, and is notable for separating the user interface from the internal YaST components. Agama provides the ability to use various frontends, such as a frontend for managing the installation via a web interface. To test the new installer formed live builds for x86_64, ppc64le, s390x and ARM64 architectures, supporting the installation of openSUSE Leap, the continuously updated openSUSE Tumbleweed build, as well as several editions of SUSE ALP based on isolated containers.

The installer provides the capabilities necessary to solve such tasks as selecting an initial set of applications, setting up a network connection, language, keyboard, time zone and localization settings, preparing a storage device and partitioning, and adding users to the system. The main goals of Agama's development include eliminating existing limitations of the graphical interface, expanding the ability to use YaST functionality in other applications, moving away from being tied to a single programming language, and encouraging the creation of alternative settings by members of the community.

Advertisement

To install packages, check equipment, partition disks and other functions necessary for installation, Agama continues to use YaST libraries, on top of which layer services are implemented that abstract access to libraries via a unified communication protocol based on HTTP. The installer uses a multi-process architecture, thanks to which the user interface is not blocked while other work is being done. The basic interface for managing the installation is built using web technologies. The web interface is written in JavaScript using the framework React and components PatternFly. The messaging service, as well as the built-in http server, are written in Ruby.

In the new version:

  • A new implementation of the web interface has been proposed, which uses the classic layout and adds a sidebar for navigation through all installation stages. Problems with scaling the web interface when adding new functionality have been resolved. Certain sections of the interface have been significantly changed, the page for setting up a network connection has been especially noticeably redesigned.

  • The capabilities for automatic installation, carried out without human intervention, have been expanded. When performing profiles in configuration definition language jsonnet More hardware information has been provided. A new section “legacy-autoyast-storage” has been implemented, allowing the use of the contents of the ‹partitioning /› sections from AutoYaST. The command line interface has been updated to support editing the configuration in an external editor.
  • Provides partial compatibility with automated installation scripts created for AutoYaST, which can be imported into Agama and converted to its own format. Due to differences in functionality, not all AutoYaST configuration elements are available, but the developers plan to provide support for the most significant sections, such as the “partitioning”, “networking”, “software” and “scripts” sections. Supported rules, classes, embedding Ruby code and definition scriptscalled before applying changes.
  • The installation media (Live ISO) has been updated. Instead of the fixed password “linux” for entering the system environment of the bootable media with root rights, it is now possible to define your own password or generate a random password, which will be shown after creation in the local console. Added support for installing additional packages in the Live environment (the database with information about packages is no longer blocked, which allows you to install any packages after booting into Live mode).

Thanks for reading:

Advertisement