finds.dev← search

// the find

K-Phoen/grabana

★ 729 · Go · MIT · updated May 2025

User-friendly Go library for building Grafana dashboards

Grabana is a Go library and CLI for defining Grafana dashboards as code or YAML instead of clicking through the Grafana UI, aimed at teams that already provision infrastructure as code and want dashboards versioned and reviewable. It covers the common panel types, eight datasources (Prometheus, InfluxDB, CloudWatch, Loki, Tempo, Jaeger, Stackdriver, Graphite) and Alertmanager routing to Slack, Discord, Opsgenie, email and webhooks.

Clean separation between the decoder (YAML), encoder (Go codegen) and builder packages means you can go either direction - write dashboards by hand or generate Go source from an existing dashboard JSON via the `convert-go` CLI command. Test coverage and CI are backed by actual badges (codecov, golangci-lint, goreleaser), not just decoration. Datasource and alert-notification coverage is broad for a project this size, and the CLI's `apply`/`validate`/`render` commands let you use it from CI/CD without writing any Go.

The README opens with a 'no longer maintained' notice pointing at Grafana Labs' own grafana-foundation-sdk - adopting this now means starting with a dead dependency. Anything added to Grafana's dashboard schema or unified alerting after the freeze won't be supported, so panel types and features are locked to wherever the project stopped. It also requires Grafana 8+ with unified alerting enabled, so it's a non-starter on older Grafana installs. The last push in May 2025 looks like final cleanup rather than feature work, so treat the dependency tree and datasource behavior as frozen, not actively verified against current Grafana releases.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →