bluerobotics / BlueOS

The open source platform for ROV, USV, robotic system operation, development, and expansion.
https://blueos.cloud/docs/
Other
169 stars 80 forks source link

core: frontend: allow disabling core services #2868

Open ES-Alexander opened 3 months ago

ES-Alexander commented 3 months ago

Current behaviour

2293 added functionality to avoid starting specific core services, but we can't set environment variables in core yet, and it's not nicely exposed to the user.

Some core services are not needed by every user, and while moving them to Extensions may be desirable longer term, it also seems worthwhile to allow the user to disable and re-enable core services when they want to, either for their standard usage or for testing/development purposes. As an example, it would be nice to be able to disable vehicle-related services while building a new firmware version, to provide extra CPU capacity, and they can then be re-enabled afterwards.

Expected or desired behaviour

  1. Ideally all core services could be dynamically disabled/enabled, perhaps using toggle-switches in the Available Services page
  2. If that's not possible we could have the same UI but with a "reboot required" type thing for the changes to be applied
  3. At minimum it should be possible to do the configuration in startup.json and have bootstrap read that when starting (but a dedicated UI would definitely be preferred)

Prerequisites