Skip to main content

DASHBOARD

Overview

swamp serve includes an opt-in web dashboard that provides a browser-based view of the running server. The dashboard is disabled by default and adds no overhead when not enabled.

Enabling the dashboard

Enable the dashboard with any of:

  • --dashboard flag on swamp serve
  • dashboard: true in the serve config file (.swamp/serve.yaml)
  • SWAMP_DASHBOARD=true environment variable
swamp serve --dashboard
# .swamp/serve.yaml
dashboard: true

When running as a daemon, --dashboard is not yet available on swamp serve daemon enable. Use the config file or environment variable instead.

Accessing the dashboard

Once enabled, the dashboard is available at:

http://<host>:<port>/dashboard

With the default settings (--host 127.0.0.1 --port 9090):

http://127.0.0.1:9090/dashboard

URL routing

The dashboard reflects navigation state in the URL path, so every view is directly addressable. You can bookmark a URL, share it with a teammate, or paste it into a browser to jump straight to a specific model or workflow run.

Browser back and forward buttons navigate between views. Unknown paths fall back to the overview.

URL patterns

URL View
/dashboard Overview
/dashboard/workflows Workflows list
/dashboard/workflows/<name> Workflow detail
/dashboard/workflows/<name>/runs/<runId> Workflow run detail
/dashboard/workflows/<name>/runs/<runId>/reports/<reportName> A run's workflow-scope report, at the version that run produced
/dashboard/executions Executions
/dashboard/models Models list
/dashboard/models/<name> Model detail
/dashboard/models/<name>/data/<dataName> Latest version of a data item
/dashboard/models/<name>/data/<dataName>/versions/<n> One exact version of a data item
/dashboard/models/<name>/reports/<reportName> Latest report output for a model
/dashboard/models/<name>/reports/<reportName>/variants/<variant> A forEach report variant
/dashboard/schedules Schedules
/dashboard/webhooks Webhooks
/dashboard/approvals Approvals
/dashboard/activity Activity
/dashboard/data Data
/dashboard/vaults Vaults
/dashboard/extensions Extensions
/dashboard/system System

Each path segment is percent-encoded with encodeURIComponent, except that @ stays readable. For example, a model named my model appears as /dashboard/models/my%20model, and the / in a scoped report name is %2F: /reports/@swamp%2Fworkflow-summary. Names that contain .. cannot be deep-linked.

Data item and report pages have two buttons:

  • Copy link copies the URL of the latest version.
  • Copy permalink copies the URL of the version on screen.

A step's output, including a method-scope report, is linked through its model's /versions/<n> permalink.

A data version that has been pruned shows "This version is no longer available", since only a data item's most recent versions are kept and reports expire after 30 days. A run report that a later run has replaced, or that has expired, shows a "no longer available" message with links to the run.

Approvals

The dashboard can approve, reject, and resume manual_approval gates. The Approvals view (/dashboard/approvals) lists every gate awaiting a decision, with Approve and Reject buttons. Each action addresses the gate's run by its run ID.

When an approval decides the run's last gate and auto-resume applies, serve resumes the run and the dashboard shows "approved — serve is resuming the run".

Awaiting resume

A run that is approved but still suspended appears under Awaiting resume on the Approvals view, in Live Runs on the Overview, and on the run detail view. Each entry shows:

  • the label "Approved — awaiting resume"

  • a Resume button

  • the equivalent CLI command:

    swamp workflow resume <workflow> --run <runId>

Resume resumes the run with its original inputs, like swamp workflow resume without --input, and supplies no new inputs. For a workflow that declares inputs, the command carries an --input <key>=<value> placeholder, and the entry notes that resuming from the dashboard supplies no new inputs. To supply resume-time inputs, run the command from the CLI instead.

Authentication

The dashboard uses the same authentication as the rest of swamp serve. When --auth-mode is set to token or oauth, the dashboard requires authentication. See Serve Flags — Authentication modes for details.

  • Serve Flags — full flag reference including --dashboard
  • REST API — HTTP endpoints for health monitoring and run management
  • Daemon Management — running swamp serve as a system daemon