Previous
Deploy ML models
Control which software versions your machines run and when updates are applied. By default, machines track the latest version of every module and model. Use version pinning, fragment tags, and maintenance windows to control rollouts more precisely.
Each module and ML model package on a machine (configured directly or through a fragment) has a version field with three options:
When a module updates, it restarts. If the module is performing work that cannot be safely interrupted, pin to a specific version and update manually during planned maintenance.
To change the version strategy, navigate to the machine’s CONFIGURE tab, find the module or fragment card, and update the version setting.
A maintenance window tells viam-server when it is safe to apply configuration updates. Without a maintenance window, configuration changes (including module version updates) take effect immediately on sync. With a maintenance window, changes are held until the window opens.
Maintenance windows use a sensor-based approach: you configure a sensor that returns a boolean value indicating whether maintenance is allowed. When the sensor returns true, viam-server applies pending configuration changes. When it returns false, changes are deferred.
true during off-hours and false during production.sensor_name: the name of the sensor to read.maintenance_allowed_key: the key in the sensor’s readings that contains the boolean value.While the maintenance window is closed (sensor returns false), viam-server continues running with its current configuration. When the window opens, all pending changes are applied at once.
For fleets where you want to test changes before deploying to all machines, use the fragment tag workflow:
stable and development tags on your fragment. See fragment tags.stable tag.development tag.development tag to the new revision.stable tag to the new revision. All production machines update.This gives you a manual gate between development and production without maintaining separate fragments.
The fleet dashboard at app.viam.com/fleet/machines shows the viam-server version and viam-agent version for each machine part.
To check programmatically, iterate over your machines using the fleet management API, connect to each machine, and use GetMachineStatus to retrieve the current configuration and version information.
true during your desired maintenance period.Was this page helpful?
Glad to hear it! If you have any other feedback please let us know:
We're sorry about that. To help us improve, please tell us what we can do better:
Thank you!