// the find
K-Phoen/grabana
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.