Slide 4 of 4

Reliable, repeatable updates

Same UID, same dashboard

A reliable pipeline produces the same result no matter how many times you regenerate and merge. For Git Sync, that depends on a stable dashboard UID in your Foundation SDK code.

When Git Sync pulls dashboard JSON, Grafana overwrites an existing dashboard that has the same uid. If the UID changes every run, you risk creating additional dashboards instead of updating one.

Go
builder := dashboard.NewDashboardBuilder("My Dashboard").
  Uid("my-dashboard") // Same UID = update, not a second dashboard

What to expect after merge

SituationWhat happens
Same UID, updated JSON in the synced pathGit Sync updates the existing dashboard (Grafana overwrites the dashboard with that uid)
New UID in the synced pathA new provisioned dashboard appears for that file

Why the review gate still matters

CI that checks generated JSON on the pull request keeps the committed files honest. Reviewers see the JSON diff before merge. After merge, Git Sync applies what is in Git, so the reviewed files are what Grafana receives.