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.

Every deployment has an event log — an append-only stream of structured records the orchestrator writes as state changes. The UI renders it as the phase ladder + recent activity on the deployment detail page; the SSE endpoint streams new events live.

What events look like

Each event carries:
  • kind — the discriminator (see below).
  • message — short human-readable summary.
  • data — optional structured payload. For most kinds this is empty; for resolution events, it contains the list of resolved references.
  • created_at — server timestamp.

Event kinds

KindWhen emittedPayload
queuedDeployment row created.
secrets_resolvedSpec parsed; secrets looked up from repo + org stores.{ secrets: [{name, scope, source}, ...] }. Never includes values.
vars_resolvedSame, for variables.{ vars: [{name, scope, source, value}, ...] }. Does include values.
registries_resolvedPrivate-registry credentials assembled into a pull-secret.{ registries: [...] }
build_startA service’s build Job was submitted (or cache lookup started).
build_endBuild succeeded — either freshly built or reused from cache.
deploy_startImage refs locked; applying tenant workloads.
cutoverA public service’s Ingress is live; URL is reachable.
healthyEvery public service is Ready and addressable.
failedTerminal failure. Reason is on the deployment row’s failure_reason.
cancelledDeploy was cancelled — by you or by supersession.
gcEphemeral TTL expired; tenant namespace deleted.
See the event kinds reference for the same list as a quick-scan table.

Streaming

The deployment detail page subscribes to a server-sent-events stream of new events. When the deployment reaches a terminal state (healthy, failed, cancelled, superseded, or gc), the stream closes.
SSE multi-line data: payloads are split with one data: per line. If you build your own SSE client against slipway’s stream, don’t assume a single newline-containing data: value — the standard parser will silently drop everything after the first newline.