mod-SystemManager
The mod-SystemManager
is the central authority for all services running on the debix. It handles service (de)registration, helps with dependency resolution and holds important debugging information for the mod-Transceiver to use.
Runs on Rover1 Debix
Precompiled binary available here
Adheres to Makefile spec
Source code is confidentially available using your Github token
Uses service.yaml
Does not register with SystemManager
Functionalities
- Maintains a central database of all registered services, with the option to check if services are still running
- Maintain a central tuning state based on all tuning states it received and automatically merged in a type-safe manner
- Provides an easy interface to register services, request information about other services, list all registered services, request the current tuning state, notify servies about service registrations and notify services about a new tuning state
Running this module
- Using the rover.yaml
- Precompiled
- From source
- Download the latest version of this module using the
rover
utility.
sudo rover update
- Enable this module in your /home/debix/rover.yaml file by (re)adding the following lines:
...
- name: mod-SystemManager
cmd: mod-SystemManager -service-yaml /home/debix/mods/mod-SystemManager/service.yaml -debug
...
- Start with the
rover
utility
sudo rover start
- Download this module from the ASE Download Manager to your current working directory using
curl
curl https://downloads.ase.vu.nl/api/mod-SystemManager/latest -JL -o mod-SystemManager.zip
- Unzip the downloaded zip file. This will deflate the precompiled binary and its service yaml
unzip mod-SystemManager.zip
- Execute the binary
./mod-SystemManager
- Clone the source code using your private ASE token. Make sure to replace
<YOUR_TOKEN>
with the token you received by email.
git clone https://<YOUR-TOKEN>@github.com/VU-ASE/mod-SystemManager.git
git pull
- Enter the source code directory
cd mod-SystemManager
- Build and start from source
make start
Using this module in your pipeline
The SystemManager is a meta-module that allows all other modules to run. The ASE framework provides mod-ServiceWrapper to conveniently connect with the SystemManager for any module you write. If you wish to have tighter integration, you can set up communication yourself using this specification.