docs/sources/as-code/observability-as-code/git-sync/use-git-sync.md
{{< admonition type="note" >}}
Git Sync functionalities are constantly evolving. Contact Grafana for support or to report any issues you encounter and help us improve this feature.
{{< /admonition >}}
After you sync your resources, Git Sync creates a dashboard that provides a summary of resources, health, pull status, webhook, sync jobs, resources, and files. To access it, follow these steps:
Refer to Work with provisioned dashboards for more information about working with provisioned files.
Use the View section to see detailed information about the current status of your sync and troubleshoot possible issues:
The Overview tab contains information about the health of your repository's connection with Grafana, configuration options such as webhooks, or information on Git processes.
The Resources tab lists the provisioned resources of the connection.
{{< admonition type="note" >}}
Before you proceed to troubleshoot, understand the Usage and performance known limitations.
{{< /admonition >}}
Monitor the View status page for synchronization issues and status updates. The status page displays the following events:
Dashboard sync errors
Dashboard import errors
To sync resources between the provisioned repositories and your Grafana instance, click Pull under the repository you want to sync. The synchronization process runs and completes.
Grafana overwrites existing dashboards with the same uid.
To update or delete your repository configuration after you complete setup:
{{< admonition type="note" >}}
It may take a few minutes for your changes to reflect on your screen. If they don't, refresh the UI manually.
{{< /admonition >}}
By default, users keep their roles in folders provisioned with Git Sync.
| Grafana Role | Folder Permission |
|---|---|
| Admin | Admin |
| Editor | Editor |
| Viewer | Viewer |
Refer to Git Sync permissions to understand and set up permissions in Git Sync.
{{< admonition type="note" >}}
To modify permissions, each provisioned folder must include the _folder.json metadata file, which gives the folder a stable UID. Without it, the folder's permissions are lost if you move or rename that folder in the Git repository. Refer to The Git Sync folder metadata file for details about this file and why it exists.
{{< /admonition >}}
Folder permissions attach to the folder's UID (stored in _folder.json), not to its repository path, so you can only set them after Git Sync has created the folder. To add or modify folder permissions:
_folder.json. Refer to Modify folder-level permissions for manual and Terraform examples.Each provisioned folder in a synced repository contains a _folder.json metadata file at its root. This file is the folder's manifest: it stores the folder's stable UID and its display name, so both survive changes to the repository layout.
The file exists because a directory path isn't a stable identity. Without _folder.json, Grafana derives the folder UID from a hash of the directory path in the repository. If you move or rename that directory in Git, the hash changes and Grafana treats it as a different folder: everything attached to the old UID, such as custom folder permissions, bookmarks, and API references, is lost. With _folder.json, the UID travels with the directory, so you can reorganize your repository without breaking permissions or references.
The file also separates the folder's display name from the directory name. The directory keeps a filesystem-friendly name, for example team-platform, while the spec.title field holds the name shown in the Grafana UI, for example Team Platform.
Grafana manages this file for you:
_folder.json file together with the folder.spec.title field in the file.The file has the following format:
{
"apiVersion": "<API_VERSION>",
"kind": "Folder",
"metadata": {
"name": "<FOLDER_UID>"
},
"spec": {
"title": "<FOLDER_UI_NAME>"
}
}
Where:
<API_VERSION> is the version of the folders API. For example, folder.grafana.app/v1.<FOLDER_UID> is the stable folder UID that Grafana uses for permissions, bookmarks, and API references. Treat this value as immutable: Grafana rejects folder UID changes, and changing it directly in Git breaks the link between the directory and the existing Grafana folder, with the same consequences as having no metadata file.<FOLDER_UI_NAME> is the display name shown in the Grafana UI. This field is optional. If it's not set, Grafana uses the directory name instead.