Deploy a change
Last updated 2 November 2026
Machines are not open yet. These pages describe Machines as they will open; until then, a create answers region_not_offered (422), “Machines are not offered in any region yet.”
Ship a new image, command, env or shape, and make it apply now rather than at the next wake, whenever you release a new version.
What applies when
- Ports and the sleep-after time (
--sleep-after): at once. - The image, the command, env and the shape: at the next wake, which starts fresh.
- Which Volume the Machine has, and its path: at the next wake.
- The stop grace (
--stop-grace): at the next stop.
Apply it now
A Machine that is called often may not sleep for a long time, and runs the old version until it does. Put it to sleep after the change: the sleep ends open requests, and the next one starts the new version fresh.
tonbo machine update app --image registry.example.com/you/app:2
tonbo machine sleep appA new image under the same tag
A tag is resolved to its digest when you name it, so a push under the same tag changes nothing until you name the tag again:
docker push registry.example.com/you/app:1
tonbo machine update app --image registry.example.com/you/app:1While the new image is pulled
Tonbo pulls a new image before a wake can use it, and tonbo machine show says pulling meanwhile. A request that wakes the Machine then is answered image_pulling with Retry-After (5 seconds). If the pull fails, wakes are answered image_failed until an update names an image that pulls; tonbo machine show says why it failed.
Through the API
An update through the Management API sends If-Match with the ETag a read of the Machine answered, so a change made by someone else in between is never lost (see Change a Machine). The CLI does this for you. What a wake starts with is on Sleep, wake and stop.