Skip to content

agama-project/agama

Repository files navigation

Agama: A Service-based Linux Installer

CI - Rust CI - Service CI - Web CI - Rubocop CI - Documentation Check CI - Integration Tests Coverage Status Translation Status

Agama is a new Linux installer born in the core of the YaST team. It is designed to offer re-usability, integration with third party tools and the possibility of building advanced user interfaces over it.

Product selection Installation overview
Click to show/hide more screenshots
Software page Storage settings
Installing Installation finished

Why a New Installer

This new project follows two main motivations: to overcome some of the limitations of YaST and to serve as installer for new projects, like those based on SUSE Linux Framework One.

YaST is a mature installer and control center for SUSE and openSUSE operating systems. With more than 20 years behind it, YaST is a competent and flexible installer able to cover uncountable use cases. But time goes by, and the good old YaST is starting to show its age in some aspects:

  • The architecture of YaST is complex and its code-base has too much technical debt.
  • Designing and building rich and modern user interfaces is a real challenge.
  • Sharing logic with other tools like Salt or Ansible is very difficult.
  • Some in-house solutions like libyui make more difficult to contribute to the project.

Running Agama

The easiest way to give Agama a try is to grab a live ISO image and boot it in a virtual machine. This is also the recommended way if you only want to play and see it in action. If you want to have a closer look, then clone and configure the project as explained in the next section.

You can download the ISO from the openSUSE Build Service.

Note

Make sure to download the correct ISO file according to your system architecture (eg. you would need to choose a file including x86_64 if you use an Intel or AMD 64-bit processor).

Remote access

The Live ISO automatically starts a graphical interface (using the local browser). However, you might want to access remotely to the installer. If you know the IP address of the system, you just need to point your browser to https://$IP.

For the case you do not know the address, or just for convenience, the Live ISO is configured to use Multicast DNS (sometimes called mDNS, Avahi, Zeroconf, Bonjour) for hostname resolution. Therefore, connecting to https://agama.local should do the trick.

Warning

Do not use the .local hostnames in untrusted networks (like public WiFi networks, shared networks), it is a security risk. An attacker can easily send malicious responses for the .local hostname resolutions and point you to a wrong Agama instance which could for example steal your root password!

If you have troubles or you want to know more about this feature, check our Remote access documentation.

Other Resources

How to Contribute

If you want to contribute to Agama, then please open a pull request or report an issue. You can also get involved in our discussions.

For more details, please read the contributing guidelines.