satnogs-client-rs
satnogs-client-rs is a lightweight, rust-based implementation of a client for the SatNOGS network.
It focusses on different goals:
- Minimalism: The client itself should do the bare necessities, to keep the codebase small and comprehensible
- Hackability: The original pre-/post-script mechanism of SatNOGS client is modified to be more versatile: Instead of calling scripts with some cmd-line options, we give them the whole job-metadata as json, so they can use anything they possibly can need. Additionally, scripts run in lexicographical order from a scripts directory. You don’t need to adjust any code to get your pre/post script run.
- Configurability: Clients configuration gets heavily simplified by using a comprehensible toml configuration format. Config files work hierarchically, so you can override single values and leave the rest at the default. This leads to small, readable config files. Additionally, it provides a web-based configuration interface, for those who don’t like command lines
Tip
Don’t want to read that much? You may hop directly to the install chapter. If you feel lucky and trust me, just paste this command to your shell:
Work-in-Progress
Please consider, that this is software is a Work-In-Progress. It doesn’t integrate all the features, the original SatNOGS client has (and maybe never will be). This client is definitely intended for advanced SatNOGS users. I assume that you have experience with installing packages via apt, controlling daemons via systemd/systemctl and know how to edit a config file (with an editor). Please note, that I can not support you on setting this up, besides providing the code and explanations in the repository and on the website. If these don’t help you at all, you should better go for the official SatNOGS client and its deployment tutorials.
If you are still here: Welcome, have fun experimenting and feel free to give me feedback in issues. :) Found a bug? Please contribute here: codeberg.org/akira25/satnogs-client-rs
Note