| .. | ||
| .cargo | ||
| agama-autoinstall | ||
| agama-cli | ||
| agama-lib | ||
| agama-locale-data | ||
| agama-network | ||
| agama-server | ||
| agama-utils | ||
| etc/agama.d | ||
| package | ||
| share | ||
| xtask | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
| rustfmt.toml | ||
| WEB-SERVER.md | ||
Agama Server
According to Agama's architecture this project implements the following components:
- The Agama server, excluding Agama YaST which lives in the service directory.
- The Agama D-Bus service.
- The Command Line Interface.
Code organization
We have set up Cargo workspace with three packages:
- agama-lib: code that can be reused to access the Agama D-Bus API and a model for the configuration settings.
- agama-cli: code specific to the command-line interface.
- agama-settings and agama-derive: includes a procedural macro to reduce the boilerplate code.
- agama-locale-data: specific library to provide data for localization D-Bus API
- agama-server: implements the HTTP/JSON (and WebSocket) API. Additionally, it offers a minimal D-Bus API for internal communication.