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

svl run --cpu 2 --mem 4g --disk 20g ubuntu:24.04 sleep infinity

svl classes shows how much room is free in each region. If nothing fits, the pod fails with no_capacity and a message saying what was available.

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.