Skip to content

Grafonnet logo

Grafonnet provides an easy and maintainable way of writing Grafana dashboards. Instead of generating JSON files and maintaining them, you can easily create your own dashboards using the many helpers grafonnet-lib offers you, thanks to the data templating language Jsonnet.

Warning

We're in the process of introducing generated code that can be used instead of the manually maintained Jsonnet code in the grafonnet directory. The generated code lives in grafonnet-7.0. It's generated from a new project, grafana/dashboard-spec. The generated code is still incomplete, however, the components present are useable. We very much appreciate contributions in grafana/dashboard-spec for components yet to be added._

Grafana Version Grafonnet Library API Docs
7.x grafonnet-7.0 DOCS.md

Grafana dashboard

A dashboard in Grafana is represented by a JSON object. While this choice makes sense from a technical point of view, people who want to keep those dashboards under version control end up putting large, independent JSON files under source control.

When doing so, it is hard to maintain the same links, templates, or even annotation between graphs. It usually requires a lot of custom tooling to change and keep those Json files aligned. There are alternatives, like grafanalib, that makes thing easier. However, as Grafonnet is using Jsonnet, a superset of JSON, it gives you out of the box a very easy way to use any feature of grafana that would not be covered by Grafonnet already.

Scope

Grafonnet aims to support any basic feature of dashboards (annotations, templates, rows, panels...) as well as a number of datasources and plugins. That is, core Grafana features and plugins only.

We do, however, encourage development and use of community Grafonnet extensions. See the Community Plugins page for more info on this.

Code of Conduct

Grafonnet is developed within the Grafana community. Therefore we are following the same Code of Conduct as Grafana. You need to agree and follow the code of conduct when you contribute to Grafonnet.

License

We use the same license as Grafana (ASL 2.0).