agama/doc/startup.md
Imobach González Sosa b9be75bb3b
Apply suggestions from doc review
Co-authored-by: Martin Vidner <martin@vidner.net>
2023-08-23 14:29:24 +01:00

2 KiB

Agama Startup Process

This document summarizes Agama's startup process.

Overview

As described in the README, Agama is composed of a set of D-Bus services, a web client and a command-line interface. The startup process aims to get those D-Bus services up and running and make the web UI available. Additionally, the auto-installation procedure could be started if required by the user.

The startup process is handled by systemd and D-Bus. The only exception is starting the local browser in the Agama Live image.

Starting the D-Bus Services

agama.service is responsible for starting up Agama's D-Bus daemon process using the agamactl --daemon command. This process uses a dedicated bus with a specific configuration.

Once the daemon process is running, each D-Bus service will be automatically activated when required. The definitions of those services are located in /usr/share/dbus-1/agama-services, although you can find the sources in the repository (org.opensuse.Agama*.service files).

Auto-installation

If the agama.auto option is specified in the kernel command-line, the agama-auto.service comes into play. It runs after the agama.service so the D-Bus daemon is ready and the services can be activated as needed.

Web UI

When discussing the web UI, we can distinguish two sides: the server process and the web browser. Regarding the server, Agama's web UI is implemented as a Cockpit module, so the only requirement is that the cockpit.socket is enabled. Then, you can connect to the UI using the https://$SERVER_IP:9090/cockpit/@localhost/agama/index.html.

When using Agama Live, a local web browser is automatically started. In the default image, it is launched using an Icewm startup script1.


  1. Check the root.tar file from the agama-live sources. ↩︎