GrizzlyArchived
Grafana Labs’ deprecated grr command line tool for keeping Grafana dashboards, alert rules and data sources as YAML, JSON or Jsonnet files and pushing them to Grafana.
- What it is
- Infrastructure as code
- Used for
- Observability
- Type
- Open source
- Made by
- Grafana Labs
- License
- Apache 2.0
- Status
- Archived since 1 July 2025
- Facts checked
- 23 October 2026
What it is
Grizzly describes observability resources as files in a Kubernetes-like format: an apiVersion, a kind (Dashboard, DashboardFolder, Datasource, AlertRuleGroup, contact points and notification policies, library elements, Prometheus rule groups or Grafana Cloud synthetic monitoring checks), metadata with a name and folder, and a spec holding the resource itself. You write these by hand in YAML or JSON, or generate them with Jsonnet, often with libraries such as Grafonnet. grr diff compares the files with what is live, grr apply uploads them through Grafana’s HTTP API, grr pull downloads existing resources (useful for copying dashboards between instances), and grr watch re-applies on every save. Contexts hold each instance’s URL and service account token.
Its last notable feature, grr serve, ran a local proxy in front of a real Grafana: dashboards were read from disk and rendered with Grafana’s UI and data sources without being published, and saving in the browser wrote the change back to the file. With -w it reloaded on file changes, including dashboards generated by Jsonnet or by TypeScript, Go or Python code. Grafana Labs deprecated Grizzly in May 2025 and has since archived it; its last release is 0.7.1 (January 2025), and Homebrew plans to disable the formula in February 2027.
Why teams pick it
- Dashboards, alert rules and data sources kept in git and applied from CI, so a deploy updates monitoring along with the code
- First-class Jsonnet: generate many similar dashboards and rules from shared libraries such as the monitoring mixins
grr servelet you edit and review file-based dashboards in a real Grafana without publishing them- No state file: it diffs local files against the live instance directly
Watch out for
- Archived and unsupported: no fixes, including security fixes, and its documentation site is offline
- Built on older Grafana APIs that were not designed for tooling, which forced workarounds and is why Grafana Labs replaced it
- Covers fewer resources than the Grafana Terraform provider, which also manages Grafana Cloud resources such as collectors and access
- Pulled data sources come back without their secure passwords, which have to be filled in by hand
Alternatives, recommended first
What all infrastructure as code have in common →Compare side by side →
AWS Cloud Development Kit (CDK)AWSDefine AWS infrastructure in TypeScript, Python, Java, C# or Go; the CDK turns it into CloudFormation templates and CloudFormation deploys them.
AWS CloudFormationAWSAWS’s own infrastructure-as-code service: describe resources in a JSON or YAML template and CloudFormation creates them as one stack, in order, and rolls back on failure.+1 AWS Serverless Application Model (SAM)tofu instead of terraform.serverless.yml file of functions and the events that trigger them into a CloudFormation stack, and deploys it with your code to AWS Lambda.How it fits with other technologies
dashboard.yaml, then `grr diff` and `grr apply` · yaml
apiVersion: grizzly.grafana.com/v1alpha1
kind: Dashboard
metadata:
name: prod-overview
folder: general
spec:
schemaVersion: 17
tags:
- templated
timezone: browser
title: Production Overview
uid: prod-overview
# $ grr config create-context instance
# $ grr config set grafana.url http://localhost:3000
# $ grr config set grafana.token <service-account-token>
# $ grr diff dashboard.yaml
# $ grr apply dashboard.yaml -> Dashboard/prod-overview addedSee it in a real stack
No architecture uses Grizzly yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2020–2026
Malcolm Holmes, an engineer at Grafana Labs, made the first commit in March 2020. The early README called Grizzly “a utility for managing Jsonnet dashboards” through the Grafana REST API, built to work with monitoring mixins, packages of Jsonnet dashboards and alerts. Its status was “Alpha. This is a proof of concept.”
Over the next four years it grew from dashboards to folders, data sources, Prometheus and Grafana alert rules, contact points and Grafana Cloud synthetic monitoring checks, moved from Jsonnet-only conventions to Kubernetes-style resource files, and in 2024 added grr serve for editing file-based dashboards inside a live Grafana.
In May 2025 Grafana Labs announced that Grizzly would be phased out in favour of grafanactl. Its first CLI had been built on APIs that were not very tooling-friendly, and the newer Grafana APIs treat every resource the same way, so a fresh tool was simpler than a Grizzly 2.0. grafanactl dropped built-in Jsonnet, leaving that to jsonnet itself, and has in turn been replaced by gcx.
Why it’s built this way
- Jsonnet as the main way to write resources
- Dashboards are large JSON documents with much repetition. Jsonnet functions and libraries, as used in the monitoring mixins, generate them from a few lines.
- Kubernetes-style resource envelopes
- An
apiVersion,kind,metadataandspeclet one tool handle dashboards, alert rules and synthetic checks in the same files, independent of the language that produced them. - Talk to the live API, keep no state
- Diffing files against the running Grafana avoids a separate state file, at the cost of having to work around APIs that were not designed for tooling.
Timeline
- 2020
First commit by Malcolm Holmes; 0.0.1 in July
- 2021
0.1.0 released; Kubernetes-style resource files documented
- 2024
grr servefor reviewing file-based dashboards in Grafana - 2025
Last release 0.7.1 (January); deprecated in favour of grafanactl (May)
- 2026
Repository moved to grafana-cold-storage and archived
- Grizzly README at v0.0.1 (2020): A Grafana Dashboard Manager, alpha
- Grizzly docs source: What is Grizzly? (Kubernetes-style resources)
- Grafana Labs blog: Edit your Git-based Grafana dashboards locally (Malcolm Holmes, 30 October 2024)
- grafana/grafanactl discussion #97: Grizzly deprecation (May 2025)
- Grizzly releases on GitHub (0.0.1 to 0.7.1)
- Grafana docs: grafanactl (deprecated in favour of gcx)
Sources8 · facts checked 23 October 2026
- grafana-cold-storage/grizzly on GitHub: README (deprecation notice, supported resources)
- Grizzly docs source: Workflows (pull, apply, watch, full command list)
- Grizzly docs source: Grizzly server (`grr serve`)
- Grizzly docs source: Using Jsonnet
- Grafana docs: Grizzly (deprecated, removed and no longer supported)
- Grafana docs: Infrastructure as code (Terraform, Ansible, Grafana Operator, Crossplane)
- grafana/grafanactl discussion #97: Grizzly deprecation
- Homebrew: grizzly formula (deprecated, disable date 2027-02-17)