Shell into a running service
Need to peek at a file, check an environment variable, or run a one-off task inside a live container? bootload gives you an interactive shell and one-off command exec straight into a running replica — no SSH keys, no sidecar, no re-deploy. It's an interactive PTY bridged over the API to the replica's node.
Open a shell
bootload shell <service>
This drops you into an interactive shell inside one running replica of the
service — resize-aware, just like a local terminal. Exit it like any shell
(exit or Ctrl-D).
Run a one-off command
For a single command (and to script it), use exec with everything after --
as the command line:
bootload exec <service> -- env
bootload exec <service> -- cat /etc/resolv.conf
bootload exec <service> -- ./manage.py migrate
What you need
A running replica. Exec attaches to a live replica, so the service must be scaled to at least one. If it's anchored at zero, scale it up first:
bootload scale <service> --replicas 1.Write access. Your role in the project must be developer or above, and your API token needs the
services:execscope.Confirmation for production. A service marked production requires an explicit
--confirmflag, so you don't poke a live workload by reflex:bootload shell <service> --confirm
Every exec session is recorded in the audit log (who, which replica, the command).
Good to know
- You land in one replica. A service with several replicas will connect you to whichever one is currently serving — don't assume it's the same one twice.
- Changes to the container filesystem are ephemeral: anything you write outside a mounted volume is gone when the replica is replaced (a redeploy, scale, or reschedule). Use it to inspect and debug, not to make lasting changes — bake those into your image or put the data on a volume.
- The shell runs as whatever user your image's entrypoint runs as, with the same environment (including your project secrets) the workload sees.