General overview
Every time you are building a sandbox template, we create a container based on the definition. We extract the container’s filesystem, do provisioning and configuration (e.g. installing required dependencies), run layers commands and start a sandbox. Then, these steps happen:- We take the running sandbox.
- (Only if you specified the start command, otherwise this step is skipped) Execute the start command.
- Wait for readiness (by default 20 seconds if start command is specified, otherwise immediately ready). Readiness check can be configured using ready command.
- Snapshot the sandbox and make it ready for you to spawn it with the SDK.
Snapshots are saved running sandboxes. We serialize and save the whole sandbox’s filesystem together with all the
running processes in a way that can be loaded later.This allows us to load the sandbox in a few hundred milliseconds any time later with all the processes already running
and the filesystem exactly as it was.