Have you thought about adding dashboard generation to your build automation? This is something we've implemented with Ansible. When a new service is built, it generates a dashboard and pushes it to Grafana via the API.
Similarly, if the service is updated, it also generates a dashboard and updates the previous one (this is easy because the update is an UPSERT). You can do interesting things like modularize pieces of the dashboard and update those modules independently. They can then get pulled into the Jinja template during the update.
Comments
Have you thought about adding dashboard generation to your build automation? This is something we've implemented with Ansible. When a new service is built, it generates a dashboard and pushes it to Grafana via the API.
Similarly, if the service is updated, it also generates a dashboard and updates the previous one (this is easy because the update is an UPSERT). You can do interesting things like modularize pieces of the dashboard and update those modules independently. They can then get pulled into the Jinja template during the update.