Runners
Runners execute your steps. Managed runners (Linux/OpenBSD) work out of the box; self-hosted runners put builds and deploys on your own machines — the recommended setup when your targets live behind a firewall, since probes and deploys originate from the runner.
Install
Runners → New runner mints a one-time token and shows the install command for each distribution:
- Script — self-updating (signed, key-pinned), needs Elixir on the host.
- Binary — self-contained (no runtime needed), systemd unit included.
- Docker / Helm — container image, or the Helm chart for Kubernetes with optional KEDA scale-to-zero on queue depth.
Isolation
Build steps run isolated by default — hardened docker on Linux (all capabilities dropped, read-only rootfs), vmm on OpenBSD, bhyve on FreeBSD (jails as a lighter opt-in), Tart VMs on macOS, Windows containers on Windows. Self-hosted runners may opt into bare execution per runner; managed runners never run bare.
SSH access
Deploy steps (and target connectivity probes) SSH from the runner using its own keys —
the web tier never holds your machine credentials. Add the runner's public key to each
target user's ~/.ssh/authorized_keys.