Properties
The desired state of the config instance, inherited from its owner deployment.Visit the deployment’s target status for more information.Allowed values:
stageddeployedremoved
The last known activity state of the config instance, inherited from its owner deployment.Visit the deployment’s activity status for more information.Allowed values:
stagedneeds_reviewqueueddeployedremovingarchived
The last known error state of the config instance, inherited from its owner deployment.Visit the deployment’s error status for more information.Allowed values:
nonefailedretrying
This property merges the
Enum:
activity status and error status fields, with error states taking precedence over activity states when errors are present.Below are examples of status values for different activities and error states.| Activity Status | Error Status | Status |
|---|---|---|
staged | none | staged |
deployed | none | deployed |
queued | retrying | retrying |
removed | failed | failed |
staged, needs_review, queued, deployed, removing, archived, failed, retryingThe configuration values that are deployed to the device in the format of a JSON object.
The file path the config instance is deployed to relative to the
/srv/miru/config_instances directory.A file path of /v1/motion-control.json deploys the config instance to /srv/miru/config_instances/v1/motion-control.json.Examples: /v1/motion-control.json, /safety.jsonThe config instance that this config instance was patched from.Examples:
CFG-Cpa13The config schema that the config instance must adhere to.Example:
SCH-FmoDNThe device to which the config instance is deployed.Examples:
Sojourner, Johnny Test, Robot 11The deployment with which the config instance was created.Visit the origin section for more information.Example:
DPL-123The deployment that a config instance currently belongs to.Visit the owner section for more information.Example:
DPL-123File formats
Currently, config instances only support JSON. However, support for more formats, including YAML and JSON-C, is coming soon!Owners and origins
Config instances are created and used as part of a deployment. Each config instance has two key deployment relationships:- Origin - the deployment with which the config instance was created
- Owner - the deployment that a config instance currently belongs to
Mobility, Perception, and Safety.
We create an initial deployment, DPL-MT3Ec. The deployment contains config instances CFG-K9xF6, CFG-BrM1v, and CFG-9ai6A which are instantiations of Mobility, Perception, and Safety respectively.
Since all configs are brand new, all three config instances’ owners and origins are DPL-MT3Ec.
| Instance | Owner | Origin |
|---|---|---|
| CFG-K9xF6 (Mobility) | DPL-MT3Ec | DPL-MT3Ec |
| CFG-BrM1v (Perception) | DPL-MT3Ec | DPL-MT3Ec |
| CFG-9ai6A (Safety) | DPL-MT3Ec | DPL-MT3Ec |
Mobility config instance, creating DPL-8Xerr to replace DPL-MT3Ec.
Since no edits were made to the Perception or Safety instances, DPL-8Xerr reuses the Perception and Safety configs from DPL-MT3Ec. As such, the total number of config instances only increases from three to four.
| Instance | Owner | Origin |
|---|---|---|
| CFG-K9xF6 (Mobility) | DPL-MT3Ec | DPL-MT3Ec |
| CFG-BrM1v (Perception) | DPL-8Xerr | DPL-MT3Ec |
| CFG-9ai6A (Safety) | DPL-8Xerr | DPL-MT3Ec |
| CFG-6jrCj (Mobility) | DPL-8Xerr | DPL-8Xerr |
Mobility config instance, CFG-6jrCj, has an owner and origin of DPL-8Xerr since it was created with that deployment.
The old Mobility config instance is removed and retains its owner as DPL-MT3Ec.
Finally, since DPL-8Xerr reuses the Perception and Safety instances from DPL-MT3Ec, CFG-BrM1v and CFG-9ai6A have their ownership transferred to DPL-8Xerr.
Safety Edit
Some more time passes, and we need to make another edit. This time we edit the Safety config instance, creating DPL-8jVBY to replace DPL-8Xerr.
Since no edits were made to the Mobility or Perception instances, DPL-8jVBY reuses the config instances from DPL-8Xerr for those config types. The total number of config instances thus increases from four to five.
| Instance | Owner | Origin |
|---|---|---|
| CFG-K9xF6 (Mobility) | DPL-MT3Ec | DPL-MT3Ec |
| CFG-BrM1v (Perception) | DPL-8Xerr | DPL-MT3Ec |
| CFG-9ai6A (Safety) | DPL-8jVBY | DPL-MT3Ec |
| CFG-6jrCj (Mobility) | DPL-8jVBY | DPL-8Xerr |
| CFG-2kQ1b (Safety) | DPL-8jVBY | DPL-8jVBY |
Safety config instance, CFG-2kQ1b, has an owner and origin of DPL-8jVBY since it was created with that deployment.
The old Safety config instance is removed and retains its owner as DPL-8Xerr.
Finally, the other two config instances have their ownership transferred to DPL-8jVBY.
Conclusion
Owners and origins help maintain an accurate record of a device’s configuration changes. Instead of unnecessarily creating new config instances for every config type on each edit, new instances are only created when the config type is edited.
Origins and owners make it easy to track the initial deployment that created the config instance, as well as the current deployment that the config instance belongs to.

