Install the Agent

To deploy a config instance, you’ll need to install the Miru agent on your device. Before installing, double check your device’s platform is supported. The Miru agent has been tested and verified to work on the following operating systems.
  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS
  • Ubuntu 24.04 LTS
  • NVIDIA Jetson (JetPack 5.1)
  • NVIDIA Jetson (JetPack 6.1)
  • Raspberry Pi OS (64-bit)
Other Linux distributions and versions should also work, but have not been explicitly tested. To install the Miru agent on a device, navigate to the Devices page. Create a device by clicking the New Device button in the top right, naming the device, and clicking Create.
Next, click the Provision button on the device you just created.
Skip the optional staging step by clicking Skip.
Copy the installation command shown in the dialog and paste it the terminal of the device you want to install the agent on.
curl must be installed and sudo privileges may be required.
The installation command is composed of the following parts:
  • curl -fsSL <installation-script-url> downloads the installation script from the Miru agent repository.
  • | pipes the script to the shell.
  • env MIRU_ACTIVATION_TOKEN=<activation-token> sets the activation token environment variable.
  • sh executes the script.
You can review the contents of the installation and activation scripts here. The script first downloads the Miru agent debian package and installs the agent as a systemd service. Next it downloads the activation script and activates the agent. Upon successful installation, a message will confirm that the agent has been activated.
Successfully activated the miru agent as the Robot A device!
Navigating back to the Devices page will show the device as Online.

Deploy a Config Instance

Navigate to the Devices page and click the device you want to deploy a config instance to. Click the New Configuration button in the top left.
Select the config schema you want the new config instance to adhere to. The config instance is autopopulated with the default values from the schema. To edit the config instance beyond the defaults, click Next.
If you’re following along with the schemaless approach, you’ll find the the config instance is autopopulated with an empty json object since the schema is empty. This is expected, simply continue with any edits you’d like to make in the next step.
Make any additional edits to the config instance. Then click Deploy in the top right.
A dialog will appear allowing you to edit the target file path and confirm the deployment. By default the config instance is deployed to /srv/miru/config_instances/mobility/schema_v1/instance.json (the target file path). The /srv/miru/config_instances directory is the base directory the miru agent uses for all config instances. For security reasons, this directory cannot be changed. However, mobility/schema_v1/instance.json can be renamed to any desired path, as long as the file extension is .json. Once you are satisfied with the target file path, continue by selecting Deploy.
The config instance will begin in the Queued state, awaiting the agent to recognize the new config instance desires to be deployed. If the agent is offline (poor network connection, device powered off, etc.), the config instance will remain in the Queued state until the agent is online again. Once the agent is online, the config instance will move to the Deployed state, indicating the config instance has been successfully deployed to the target file path on the device.

Edit a Config Instance

To edit a config instance, simply start making changes from a current config instance. As edits are made, a log on the right maintains a list of all changes, categorizing them by their type (e.g. added, deleted, modified).
Once satisfied with the edits, click Deploy in the top right. A dialog will appear to confirm the deployment. Add a description for the deployment and click Deploy.
As before, the config instance will begin in the Queued state, moving to the Deployed state once the agent is online and has successfully deployed the new config instance.

History

You can view a full history of config instances deployed to a device by clicking the Deployments tab in the top left, next to the Editor tab.
Clicking into a config instance will show historical information such as who deployed the config instance, when it was deployed, and the description message at the time of deployment.