Overview
OpenSRE uses the Dagster GraphQL API to investigate data-pipeline incidents — fetching recent runs and their status, the full event log and root-cause exception for a failed run, asset materialization history, and sensor or schedule tick history. Works against both Dagster OSS (dagster dev and self-hosted dagster-webserver) and Dagster+ (the SaaS).
Prerequisites
- A reachable dagster-webserver instance:
- Dagster OSS: run
dagster dev -f jobs.pylocally or deploydagster-webserver. Default port3000. - Dagster+: an active deployment, e.g.
https://<org>.dagster.cloud/<deployment>orhttps://<org>.<region>.dagster.cloud/<deployment>.
- Dagster OSS: run
- Network access from the OpenSRE environment to the webserver
- For Dagster+: a User Token from Organization Settings → Tokens → User Tokens (not an Agent Token — Agent Tokens are rejected by the GraphQL endpoint)
Setup
Option 1: Interactive CLI / onboard
- Dagster webserver URL —
http://localhost:3000for OSS local dev, orhttps://<deployment>.dagster.cloud/<env>for Dagster+ (the client appends/graphqlitself) - Dagster API token — required for Dagster+; leave blank for unauthenticated OSS
version probe, writes DAGSTER_ENDPOINT to .env, and persists the API token (when provided) to ~/.opensre/credentials.json.
Option 2: Environment variables
Option 3: Persistent store
Credentials
Endpoint: the browser URL through the deployment name, e.g.https://acme.dagster.cloud/prod (from …/prod/runs). EU accounts use a regional subdomain such as https://acme.eu.dagster.cloud/prod.
API token (Dagster+):
- User menu → Organization Settings
- Tokens tab → + Create user token
- Copy the token immediately (shown once)
Token type matters. Use a User Token, not an Agent Token. Agent Tokens authenticate Hybrid agents and return HTTP 401 on GraphQL.
Quick local test
Ctrl-C in the terminal running dagster dev, then remove the temporary store and unset the demo variables in the second terminal:
DAGSTER_HOME is removed when dagster dev exits.
Investigation tools
GraphQL queries OpenSRE issues are read-only (no mutations).
Verify
query { version } and reports the running Dagster version on success.
Troubleshooting
Security
- Prefer a dedicated User Token on a service-style user account (Dagster+ has no first-class service accounts).
- Keep tokens out of source control — use
.envor~/.opensre/integrations.json. - Rotate/revoke tokens from Organization Settings → Tokens.
- For local OSS without auth, restrict the webserver to localhost or a private network.