A service-based Linux installer https://agama-project.github.io/
  • TypeScript 33.8%
  • Ruby 23.5%
  • Rust 21.3%
  • JavaScript 16.8%
  • Shell 2.6%
  • Other 1.8%
Find a file
2026-03-16 14:02:02 +01:00
.github/workflows Let Clang formatting violations fail the CI build 2026-03-12 10:47:38 +01:00
devel devel: describe the implementation of build2obs.sh in detail 2026-03-16 14:02:02 +01:00
doc add new umount method to storage manager 2026-02-11 13:20:10 +01:00
live Read the token once Agama is running 2026-03-12 17:55:53 +00:00
products.d Update translations in the product files 2026-03-16 05:06:33 +00:00
rust Fix sshPublicKeys alias (#3284) 2026-03-16 10:22:56 +00:00
service Changelogs 2026-03-14 20:43:01 +01:00
web Changelog 2026-03-16 10:55:58 +00:00
.editorconfig copy also editor config 2025-09-19 11:28:27 +02:00
.gitignore update gitignore to reflect C addition 2025-09-22 14:58:56 +02:00
.gitmodules integrate agama zypp into agama for easier coordination 2025-09-19 10:18:49 +02:00
.yupdate.post yupdate - update also the YAML product files 2023-12-04 14:57:29 +01:00
.yupdate.pre reduce yupdate requirements due to zram 2023-11-16 08:03:52 +01:00
CONTRIBUTING.md Add security documentation 2023-04-05 16:30:28 +01:00
LICENSE Initial commit 2021-12-20 16:57:46 +00:00
PACKAGING.md docs: Fix broken links after moving content to web site 2024-12-02 16:07:05 -05:00
PULL_REQUEST_TEMPLATE.md remind PR authors and reviewers of the .changes files 2026-01-20 13:48:04 +01:00
Rakefile fix(ruby): rake task to the top-level Rakefile 2025-02-06 16:43:38 +00:00
README.md Correct remote access hyperlink 2026-03-16 13:09:10 +01:00
SECURITY.md Add security documentation 2023-04-05 16:30:28 +01:00
setup-services.sh Drop dependency on dmraid 2026-01-21 16:02:06 +01:00
setup-web.sh setup-web.sh: run npm-install unconditionally 2024-07-18 14:43:52 +02:00
setup.sh setup.sh: setup backend after frontend to prevent zypp lock failure 2025-09-19 11:18:51 +02:00
STATUS.md doc: drop references to :Staging 2024-07-02 12:09:04 +01:00
testing_using_container.sh testing_using_container: set password and run shell even in case of failure 2024-09-10 15:57:51 +02:00

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.

Translators

Thank you for translating Agama to your language!

If something is broken about the translations, see the detailed Agama i18n workflow and internals documentation.

See also the openSUSE Translation mailing list and its archives.