| So, let me share what we do internally at Grafana Labs: General: 1. We run everything on Kubernetes 2. We configure it using Tanka, keep all Jsonnet in git 3. Changes are done using PullRequest --- Grafana (the software) related: 1. We use provisioning:
https://grafana.com/docs/grafana/latest/administration/provi.... This means dashboards are kept in .json files on the filesystem and loaded on startup 2. Those dashboard json files are ConfigMaps 3. Those ConfigMaps are created using Tanka 4. The content of those ConfigMaps is created using grafonnet-lib This means, our dashboards are source-controlled! A change to a dashboard is reviewed, merged and automatically deployed (ConfigMap is changed, Grafana restarted, picks that up and done!) --- Caveats: - Edit dashboard in Grafana won't work anymore - You need to mess with files - BUT this might change in the future, Jsonnet might become integrated to Grafana. Stay tuned :D |