Image builder, same names, same list / get / delete. Your existing definitions
carry over as written — what changes is how they are built underneath, and two consequences of
that are visible to you.
1. Build ahead of time
A template is built into a machine image before any sandbox uses it, which takes minutes rather than seconds. So the build is a separate step from the create, and you wait for it once:2. Sandboxes from a template cold-start
Standard sandboxes come from a warm pool. A sandbox built on your template does not, because the pool holds standard sandboxes — so expect a few seconds rather than milliseconds on create. Everything the template installed is already baked in, so this is paid at create, not on your first command.What your definitions run on
The environment underneath is Amazon Linux 2023 on ARM64, so two things in an existing definition can need attention:Package names
aptInstall works and common Debian names are translated — build-essential becomes
gcc gcc-c++ make. A package that exists only on Debian fails the build, and the error
names it.Architecture
A step that downloads an x86-64 binary fails. Use your package manager, or fetch the
aarch64 build.Templates built on v1
v1 templates capture the whole disk. Replaying only part of that would hand you your files while dropping every system change the template existed for — a template that looks like it worked and hasn’t — so it refuses instead. Rebuilding is the fix, and usually means re-running theImage definition you already have.
1
Try each template
One that cannot be used fails loudly at create with the message above. That is the fastest
audit — nothing to inspect.
2
Rebuild it
Create it again by name with the same definition, wait for the build, and point your creates
at it.
Checkpoints
Save a running sandbox and restore it later.
Migrating from v1
Every behaviour that differs between v1 and v2.