- Improve build times by snapshotting a populated build cache.
- Roll back to a known good point in time.
- Perform fan-out and attempt multiple approaches to a code change.
When should I use a Blueprint vs. a Snapshot?Snapshots and Blueprints both allow you to run devboxes with customizations. Blueprints are fast to boot and cacheable using Docker layers, while Snapshots are a bit slower on boot (reproducing each step taken in the devbox) but can be created quickly from an existing devbox.Examples:
- Blueprint: You have a coding agent that is performing a task that requires installing a specific tool. Create a blueprint with set-up steps for the tool and future devboxes will cache the installation to speed up boot and execution time.
- Snapshot: You have a coding agent in a devbox considering 3 different ways to complete a task. Create a snapshot of the initial state of the devbox, create 3 parallel devboxes from that snapshot, collate the results, and then choose the best option to continue.
1
Identify the devbox to snapshot
First, identify a running devbox id using the dashboard or rl-cli.Optionally, you may want to remove any temporary files before proceeding to reduce the latency of snapshot operations.
2
Start an asynchronous disk snapshot
3
Poll the snapshot status
The snapshot operation runs asynchronously in the background. Poll the status until completion:
4
Create a new devbox from the completed snapshot
Once the snapshot is complete, use the snapshot ID to launch a new devbox:
Deleting Snapshots
By default, snapshots persist indefinitely and continue to incur storage costs. To optimize resource usage and costs, you can delete snapshots that are no longer needed.Deleting a Single Snapshot
To delete a specific snapshot, use its ID:Cleaning Up Old Snapshots for a Devbox
When you create multiple snapshots of the same devbox, you may want to delete older snapshots to reduce storage costs. Here’s how to keep only the latest snapshot for a specific devbox:Be careful when deleting snapshots, as this action cannot be undone. Ensure you’re not deleting snapshots that you may need for rollback or recovery purposes.