What you need to run Scarab, and the two ways to bring it up: the Helm chart on any Kubernetes cluster, or the local proc-mode dev loop.
Scarab is a Kubernetes-native CI engine: every pipeline step runs as a Pod, so you always need a Kubernetes cluster to run against. That cluster can live on your laptop (kind / colima) or be a real, remote/production cluster. Scarab does not care which.
There are two ways to bring Scarab up. They are both legitimate; pick the one that fits what you’re doing, not a “real” one versus a “toy” one.
If you only want to see what Scarab looks like, there is a third option that installs nothing: the live demo. Sign in with GitHub and you land as Viewer, which carries no Write, so you can read a run but not dispatch one. To actually run a pipeline, pick one of the two paths below.
Which path?
Section titled “Which path?”Both run the same engine against a real cluster; they differ in how
scarab-server itself is deployed and how quickly you can iterate.
| If you want to… | Use | Where |
|---|---|---|
| Look at a running Scarab without installing anything | Live demo | demo-scarab.ahiravan.dev |
| Deploy Scarab inside the cluster the way it ships, on kind/colima or a live/production cluster | Helm chart | Installation |
| Iterate on the server from source with a loop that rebuilds and reruns | Proc-mode dev loop | Run locally |
| Reproduce the exact deployment inside the cluster on your laptop before shipping | Helm chart on colima (just local-helm) |
Installation |
The same Helm chart targets every environment: a local kind/colima cluster
and a live production cluster use the identical helm upgrade --install. There is
no separate “production build”; the proc-mode loop just swaps the packaged image
for a scarab-server you run straight from the tree, so you can rebuild and rerun
in seconds.
What Scarab needs
Section titled “What Scarab needs”Whichever path you choose, scarab-server needs:
- Postgres: the durable coordination substrate; without it the server serves the API only.
- An S3-compatible object store (AWS S3 or in-cluster MinIO) for logs, artifacts, and the content-addressed workspace snapshots reruns restore; a fallback to a local directory exists for lightweight local runs.
- A Kubernetes namespace with RBAC so it can launch one Pod per pipeline step.
The Installation page wires all three up through the chart; the Run locally recipes stand them up for you on your machine.