Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.slipway.sh/llms.txt

Use this file to discover all available pages before exploring further.

A deployment is always in exactly one status. The first four are transient; the last three are terminal.
StatusMeaningTerminal
queuedDeployment row created; orchestration not yet started.no
buildingAt least one service is being built.no
deployingImages are ready; tenant workloads being applied.no
healthyEvery public service is Ready and addressable. The TTL clock starts here for ephemeral deployments.no — can still flip to superseded or get torn down
failedBuild, deploy, or healthcheck didn’t succeed. Reason is in failure_reason.yes
cancelledCancelled by user action, or superseded by a newer commit mid-flight.yes
supersededA newer healthy deployment for the same branch took over, or an ephemeral TTL expired.yes

Transitions

queued ──► building ──► deploying ──► healthy ──► superseded
   │           │             │           │              ▲
   │           │             │           │              │
   ▼           ▼             ▼           ▼              │
       cancelled  /  failed  (terminal failures)        │

                       (ephemeral TTL expiry) ──────────┘
cancelled and failed are reachable from any non-terminal status. superseded is reachable from healthy only.

What surfaces in the UI

  • Phase ladder on the deployment detail page tracks queued → building → deploying → healthy with copper-for-active and green-for-done.
  • Deployment list (/{slug}/deployments) shows status as a colored pill. Pulsing dot on in-flight rows.
  • Status filter on the deployments list lets you scope to one status at a time.

Reaping abandoned deployments

If the master restarts while a deployment is in queued, building, or deploying, the orchestration goroutine dies with the process. On startup, slipway scans for these rows and marks each one failed with reason abandoned: master restarted while this deployment was in flight. Without this, those rows would sit in their non-terminal status forever.