Define single authoritative source for configuration fields
Define a single authoritative source for satnogs-client configuration fields. In the draft implementation of this at !596 this is menu.json
(the filename could certainly be improved). In this file for each field there are several properties given:
- Field name
- Long-text description
- Short description
- Field type (e.g.
boolean
,path
,url
) - Default value (can be
None
) - Preferred input method in satnogs-config (e.g.
variablebox
orvariableyesno
) - Categories (e.g.
Network
,Rotator
,Radio
,Waterfall
) - more?
Based on this file, multiple other files can be auto-generated & updated asynchronously, depending on the release cycle of the repository they live under:
- satnogs-client configuration jsonschema: Can be used to validate a configuration file
- satnogs-client: docs/environment_variables.rst: Online documentation
-
satnogsconfig/menu.yml
: The satnogs-setup configuration menu - satnogs_client ansible role: vars/main.yml: The satnogs-client configuration task
- SatNOGS Network Cloud Configuration Web GUI, see satnogs-network#851
- Simplify the addition/modification/removal of satnogs-client configuration fields, Currently manual edits in satnogs-client, satnogs-client-ansible, santnogs-config are needed.
- Allow validation of a given satnogs-client configuration