Skip to main content

The rover utility

The rover utility comes preinstalled on all Rovers and can be used to start and stop all modules at once. It uses the rover.yaml file in /home/debix/rover.yaml to decide which modules to run and kill. It connects to the ASE DownloadManager to fetch the latest version of all framework modules for you.

Runs on Rover1 Debix
Comes preinstalled on every Rover
Does not adhere to Makefile spec
Source code not available
Does not use service.yaml
Does not register with SystemManager

Commands

  • sudo rover start - will apply the configuration found in /home/debix/rover.yaml and start all programs. If any program stops or crashes the rover will emit a short beep-beep sound and restart the program continuously with a 3 second delay.
  • sudo rover stop - will halt all programs that were last started.
  • sudo rover status - lists the status of every program, this is a quick way to see which program is crashing if you start hearing some beeping.
  • sudo rover watch ase-my-module - shows the live std-out of the program, in this case for the "My Module" program, however if you misspell the service name in this command it will show you all available services to watch.
  • sudo rover update - This will download all latest ASE-Software modules and their corresponding service.yamls.

Editing the rover.yaml

If you want to modify which programs to start with the rover start command (and their arguments), edit the /home/debix/rover.yaml file and enable or disable programs by (uncommenting). If you want to add a new program, simply add an entry like this:

/home/debix/rover.yaml
...
- name: My Module
cmd: <PATH> <ARG1> <ARG2> ...

Example

To enable the python script /home/debix/myproject/main.py to run with args arg1, arg2 and arg3, you would add the following lines to the rover yaml:

/home/debix/rover.yaml
...
- name: My Module
cmd: /home/debix/myproject/main.py arg1 arg2

In your rover.yaml configuration, you can use symlinks for all ASE framework modules as listed here. These symlinks lead to the binaries in the /home/debix/mods directory.

This means that you can run modules simply by their name, such as running

mod-Controller

And that you can also include these names in your Rover.yaml

info

If you move files around in your /mods directory, symlinks might (and most likely will) break. New folders added to the /mods directory will not be added as symlinks.

Updating your Rover

With the sudo rover update command, your Rover will fetch the latest versions of all ASE framework modules using the Download Manager. This is a destructive action that will override any existing files that you place in the /home/debix/mods directory. We recommend not to place any code or custom configurations in this directory.

Destructive action

Do not place any (unsaved) code or custom configurations in the /home/debix/mods directory. All contents will be overwritten when you run sudo rover update