Pods

A pod is one container running on serverless.au. You choose the image, command, size and region; serverless.au finds room for it, pulls the image and starts it.

Lifecycle

pending → scheduled → pulling → running → exited | failed | terminated

  • exited — the command finished (svl ls shows the exit code).
  • failed — serverless.au couldn't run it, with a reason (for example image pull failed: …).
  • terminated — stopped by you, an administrator, or because the account ran out of credit.

Watch it happen with svl events <pod>. Billing starts when the container starts and stops when it does — pulling an image is free.

Foreground and background

Like docker run, svl run without -d follows the pod: it streams output and exits with the container's exit code. Press Ctrl-C to detach — the pod keeps running.

svl run python:3-alpine python -c 'print(2 + 2)'
svl run -d --name worker myorg/worker:1.4

Size

Pods come in shapes: a fixed vCPU, memory and disk, with an hourly price.

svl shapes                                            # sizes, prices and what's free in each region
svl run --shape c2.medium ubuntu:26.04 sleep infinity # 2 vCPU, 4 GB memory, 20 GB boot disk

Without --shape a pod gets c1.small (1 vCPU, 1 GB, 5 GB).

A shape's vCPU is guaranteed. When the server has spare CPU, a pod may burst above it, up to the limit svl shapes shows (a c1.half bursts to 1 vCPU, a c2.medium to 4). Burst isn't guaranteed and isn't billed. Memory never bursts: a pod that uses more than its shape's memory is stopped.

A shape's disk is a boot disk for what the container writes while it runs: 5 GB per GB of memory, at most 20 GB, and gone when the pod stops (your image doesn't count against it). Keep data on a volume. When there's no room for a shape right now but more capacity can be started, the pod shows provisioning while a new node comes up (a few minutes); if a shape can't run anywhere, it fails with no_capacity and says why.

Environment

svl run -e MODE=prod -e API_TOKEN myorg/app

-e KEY with no value copies KEY from your shell. Environment values are encrypted at rest.

Isolation

Pods on shared hardware run inside a gVisor sandbox and can't reach each other, the host, or private networks. They can reach the internet.

Disks are temporary

A pod's disk is deleted when the pod stops. Keep anything you need in a volume, your own storage, or copy it out with svl cp first.