Am trying to implement good configuration management with /dev, /staging, and /production versions of our dashboards, with some environments on the same instance and some on a separate instance. Many of our dashboards use links, and if make a copy (to /dev or /staging) to work on a new version before publishing we have to change the Dashboard ID, meaning all the inbound links point to the original dashboard and we have to create copies of all those dashboards too, just to edit and have all the links (and so on down the line) work properly in my the in-progress version. Is there a technique to manage the links (or the dashboards) to deal with this? Seems like there has to be some way to manage dashboard_ids to address this workflow.
Provision the same dashboard uid across all environments, so you can copy/sync dashboard between environments without problem.
Thank you. Makes sense for separate instances/environments. But is there a practice when in the same instance? For example, if I copy a dashboard (in the same instance) to make edits and review changes before checking (source) back in, is there a process/convention to manage links between dashboards (when there are multiple copies of the same dashboard)?
Yes, the good practice is not to create a copy. Otherwise you will end up with names copy of copy of copy ...
and nobody will know if that particular copy was “merged” or not. You can edit source dashboard without saving it.
Thanks, I also realized I can copy and paste my edits back into the JSON source of the original dashboard, as long as I avoid altering the uid field value.