Dashboards as code (git registry)
Most StrataBI dashboards are cheap to create — authored in the builder or generated by AI, and disposable by design. But the dashboards you rely on (your global, curated ones) are worth treating as code: reviewed, versioned, and recoverable. StrataBI does this with a git registry — a record of which dashboards are under version control — plus a CLI that syncs those dashboards between S3 and a local directory you manage with normal git.
This is opt-in and additive. Dashboards stay declarative JSON in S3; nothing about authoring or rendering changes.
Two tiers
- Scratch dashboards — builder/AI-authored, live only in S3, disposable. Not
git-managed. This is most of what gets created.
- Git-registered dashboards — the curated set you version-control. Git is the
source of truth; S3 is the serving layer the runtime reads.
The git registry is independent of pinning and favorites — a dashboard can be version-controlled without being pinned, and vice versa.
Marking a dashboard for git
Open a dashboard and use the git button in the dashboard controls (next to the favorite star). Solid means the dashboard is registered for git; outline means it isn't. Registering is open to any user; the button writes the dashboard's identity to the git registry.
Stable identity (overwrite-in-place)
Normally, saving a dashboard writes a new timestamped artifact. A git-registered dashboard overwrites its existing artifact in place instead — whether saved from the builder or pushed from the CLI. That keeps a single, stable S3 identity for the dashboard, so git and the runtime never drift. (To deliberately fork a new copy, use the CLI --new flag.)
Syncing with the CLI
The companion CLI moves the registered set between S3 and a local git working directory. It talks to S3 directly with your own AWS credentials — so the ability to push is gated by your IAM access to the dashboard bucket.
# bring the registered dashboards down into ./dashboards (then commit with git)
stratacli dashboards pull
# see what's registered
stratacli dashboards list
# see which local files differ from S3
stratacli dashboards diff
# deploy edits back to S3 (overwrite in place)
stratacli dashboards push
# bootstrap a brand-new dashboard from a local file
stratacli dashboards push my-dashboard.json --new --git-registered --pinnedpull writes each dashboard as a .json file plus a small manifest recording each object's S3 key and ETag. push validates each file against the published dashboard schema, then overwrites the registered artifact — and refuses to clobber an object that changed in S3 since your last pull (use --force to override). Enable S3 versioning on the dashboard bucket as a backstop.
Deregistering
Removing a dashboard from the git registry is open for ordinary (non-pinned) dashboards — just toggle the git button off. But **deregistering a pinned dashboard is an admin action: the dashboard button will not remove it, and an administrator must do it from the Pins** tab of the admin console ("Git registry — admin override"). This protects curated, surfaced dashboards from being pulled out of version control by accident.
Shaleio