PandaStack

Templates

Pre-baked rootfs images for instant sandbox boot.

A template is a rootfs image + kernel + snapshot pre-baked at deploy time. Templates are what makes 240 ms cold boots possible — we don't boot Linux from scratch, we just restore from a snapshot taken right after the runtime is ready.

Bundled templates

TemplateRuntimeSizeCold boot
blankbare Ubuntu 24.04230 MiB280 ms
code-interpreterPython 3.11 + Jupyter kernel450 MiB240 ms
python-dataPython 3.11 + pandas, numpy, scikit-learn920 MiB260 ms
node-jsNode 22 + npm380 MiB250 ms
denoDeno 2.0280 MiB240 ms
bunBun 1.2290 MiB240 ms
browserHeadless Chromium + Playwright1.2 GiB320 ms
rustRust stable + cargo1.1 GiB270 ms
goGo 1.24480 MiB250 ms
rubyRuby 3.3 + bundler350 MiB250 ms
javaJDK 21 + Maven720 MiB280 ms

All templates run on the same kernel (vmlinux-5.10.239) with VirtIO drivers compiled in.

Building your own

mkdir my-template
cat > my-template/Dockerfile <<'EOF'
FROM ubuntu:24.04
RUN apt-get update && apt-get install -y python3 python3-pip ffmpeg
RUN pip install yt-dlp openai-whisper
EOF

pandastack templates build my-template ./my-template
# ↑ builds rootfs, boots the VM, runs `damroo-init`, takes snapshot, promotes to template

Behind the scenes:

  1. Builds a Docker image from your Dockerfile.
  2. Exports it to a flat ext4 rootfs.
  3. Boots a Firecracker VM with that rootfs.
  4. Waits for SSH ready, then runs systemctl is-system-running.
  5. Pauses the VM and snapshots it.
  6. Sparsifies the rootfs (fallocate -d), cloning to clone.ext4.
  7. Stores it under /var/lib/damroo/template-snaps/<name>/.

The result: every future sandbox from that template boots in <300 ms.

Template builds in the cloud

Managed PandaStack also lets you push templates to the registry:

pandastack templates push my-template --tag v1
# ↑ uploads snapshot + rootfs to object storage, makes it available to all agents

This is how multi-node clusters share templates without rebuilding on each agent.

On this page