v0.0.10
Diagrid Dev Dashboard
A local dashboard for Dapr developers that offers a live view of everything Dapr running on your machine, plus guided builders for authoring Dapr component and resiliency YAML. Where v0.0.9 took the dashboard beyond your machine (container image + .NET Aspire mode), v0.0.10 turns it toward the integration-testing workflow: it now discovers Dapr apps launched by Testcontainers, surfaces the component YAML baked into those containers, makes workflows work even without a connected state store, and adds MongoDB as a fourth state-store backend.
What's new
🧪 Testcontainers discovery
- A new scanner detects daprd sidecars started by Testcontainers, keys them by container name, and pairs each one to its app container via the app port — resolving the app's PID and uptime the same way a
dapr runprocess would. - Container logs stream straight into the Logs page, and lifecycle controls (start/stop/restart) are hidden for these apps since their lifecycle belongs to the test run, not the dashboard.
- Testcontainers apps carry their own source label throughout the UI so it's clear where each app came from.
⚙️ Workflows without a connected state store
- New sidecar-gRPC workflow source: the dashboard talks to each app's daprd directly over gRPC (via the durabletask client), so workflow instances and history light up even when the app uses an in-memory or otherwise unreachable state store.
- Per-app composite routing picks the right source for each app — the shared state-store source where it applies, the sidecar source otherwise.
- Hardening: per-app gRPC call timeouts, and sidecar-sourced items merged only on the first page to keep pagination correct.
🧩 Components extracted from inside the container
- The dashboard now extracts component and resource YAML directly out of Testcontainers containers (via tar extraction) and shows them in the Components view under virtual resource paths.
- App detail gains completeness for these apps: an app-protocol row (read from metadata, with an argv fallback) plus container and session rows.
🍃 MongoDB state store support
- MongoDB joins Redis, SQLite and PostgreSQL as a fully supported state-store backend — available in the supported-store list and the connection dialog, with
state.mongodbadded to the server connection allowlist. - Connection handling covers the real-world shapes: compose host translation, a credentials-free connection summary (userinfo stripped), SRV /
mongodb+srvsupport, and host-less database URIs.
🔬 Testcontainers integration harness
- A new integration-test harness spins up real containers for all four backends (SQLite, Redis, PostgreSQL, MongoDB) to verify the state-store connectors end-to-end, with robust container wait strategies.
💅 UI polish
- All modal dialogs now share one consistent layout and alignment.
- The internal styleguide has been refreshed to match.
📸 Docs
- The README now shows dashboard screenshots (Applications and Workflows) so the project reads at a glance.
Install & run
One-liner (macOS / Linux):
curl -sSL https://raw.githubusercontent.com/diagridio/dev-dashboard/main/scripts/install.sh | shWindows (PowerShell):
iwr -useb https://raw.githubusercontent.com/diagridio/dev-dashboard/main/scripts/install.ps1 | iexWith Go (≥ 1.26):
go install github.com/diagridio/dev-dashboard@v0.0.10Container:
docker pull ghcr.io/diagridio/dev-dashboard:0.0.10Run:
dev-dashboard # serves http://localhost:9090 and opens your browserSingle self-contained binary — the React frontend is embedded via go:embed, so there are no runtime dependencies. Prebuilt archives for macOS and Linux (amd64 + arm64) and Windows (amd64) are attached below, and the multi-arch container image is on GHCR.