Skip to content

Concepts

Slipway uses one vocabulary everywhere: in the UI, the API, the CLI and the database. Learn these nouns and the rest of the docs read easily.

Organisation
└─ Project
├─ Pipeline ──▶ Run ──▶ Job ──▶ Step
│ └─ produces ─▶ Artifact, and optionally a Release
├─ Service ──▶ Release (immutable) ──▶ Deployment ◀── Environment
└─ Environment ── Infrastructure, Variables, Protection rules
Concept One-line definition Page
Organisation The tenant. Owns users, projects, runners, secrets, billing. Organisations and projects
Project A container for pipelines, services and environments. Organisations and projects
Pipeline A definition (YAML) discovered from a repository or stored inline. Pipelines and runs
Run One execution of a pipeline. Contains jobs, which contain steps. Pipelines and runs
Runner An agent that executes jobs. Belongs to a pool; dials out. Runners
Service A deployable unit: image, Helm chart, serverless package, VM artefact, Terraform module. Services and environments
Environment A place a service runs: dev, staging, prod. Carries protection rules and variables. Services and environments
Release An immutable snapshot of artefact versions, variables and provenance. Releases and deployments
Deployment A release applied to an environment with a strategy. Releases and deployments

Every object has a ULID with a type prefix so you can tell what an ID refers to: org_, proj_, pipe_, run_, job_, step_, rel_, dep_, env_, svc_, user_, tok_, rnr_, sec_, int_. IDs are 26-character Crockford base32 after the prefix, lexicographically sortable by creation time.

Everything that happens is an event: run.started, run.finished, job.queued, deployment.waiting_approval, deployment.succeeded, release.created, runner.offline. Events drive notifications, outbound webhooks, the audit log and metering. See Webhooks and events.

Most tools treat “build” and “deploy” as separate products joined by scripts. In Slipway a pipeline’s output is a release, and a release is the only thing a deployment ever applies. That gives you provenance (which commit, which run, which attestations) for everything that is running, and one audit trail from commit to production.