Set up file provisioning
Enterprise Open source

Set up file provisioning

Note

Local file provisioning is an experimental feature introduced in Grafana v12 for open source and Enterprise editions. Engineering and on-call support is not available. Documentation is either limited or not provided outside of code comments. No SLA is provided. Enable the provisioning and kubernetesDashboards feature toggles in Grafana to use this feature. This feature is not publicly available in Grafana Cloud yet.

Sign up for Grafana Cloud Git Sync early access using this form.

File provisioning in Grafana lets you include resources, including folders and dashboard JSON files, that are stored in a local file system.

This page explains how to set up local file provisioning.

The local path mount is referred to as a repository.

Using the local path lets you also use it with a tool like fuse, allowing you to mount S3 buckets as local paths. You can also use tools like restic to automatically back up your dashboards to your preferred backup storage solution.

To set up file sync with local with local files, you need to:

  1. Enable feature toggles and paths in Grafana configuration file (first time set up).
  2. Set the local path.
  3. Choose what content to sync with Grafana.

New file provisioning capabilities

Local file provisioning using Administration > Provisioning will eventually replace the traditional methods Grafana has used for referencing local file systems for dashboard files.

Note

For production system, we recommend using the folderFromFilesStructure capability instead of Administration > Provisioning to include dashboards from a local file system in your Grafana instance. Refer to Provision Grafana for more information.

Limitations

  • A provisioned dashboard can’t be deleted from within Grafana UI. The dashboard has to be deleted at the local file system and those changes synced to Grafana.
  • Changes from the local file system are one way: you can’t save changes from

Before you begin

To set up file provisioning, you need:

  • Administration rights in your Grafana organization.
  • A local directory where your dashboards will be stored.
  • To update the permitted_provisioning_paths section of custom.ini.
  • To enable the required feature toggles in your Grafana instance.

Enable required feature toggles and configure permitted paths

To activate local file provisioning in Grafana, you need to enable the provisioning and kubernetesDashboards feature toggles. For additional information about feature toggles, refer to Configure feature toggles.

The local setting must be a relative path and its relative path must be configured in the permitted_provisioned_paths configuration option. The configuration option is relative to your working directory, i.e. where you are running Grafana from; this is usually /usr/share/grafana or similar.

Local file paths can point to any directory that is permitted by the configuration. The default paths is devenv/dev-dashboards and conf/provisioning in your grafana installation directory.

The path must behave as a standard file directory on the system of choice. Any subdirectories are automatically included.

The values that you enter for the permitted_provisioning_paths become the base paths for those entered when you enter a local path in the Connect to local storage wizard.

  1. Open your Grafana configuration file, either grafana.ini or custom.ini. For file location based on operating system, refer to Configuration file location.

  2. Locate or add a [feature_toggles] section. Add these values:

    ini
    [feature_toggles]
    provisioning = true
    kubernetesDashboards = true ; use k8s from browser
  3. Locate or add a [paths] section. To add more than one location, use the pipe character (|) to separate the paths. The list should not include empty paths or trailing pipes. Add these values:

    ini
    [paths]
    ; This is devenv/dev-dashboards and conf/provisioning by default.
    permitted_provisioning_paths = grafana/ | /etc/grafana/provisioning/
  4. Save the changes to the file and start Grafana.

Set up file-based provisioning

To use file-based provisioning, you need the file path to the grafana folder where your dashboards are stored in the repository.

To start setting up file-based provisioning:

  1. Log in to your Grafana server with an account that has the Grafana Admin flag set.
  2. Select Administration in the left-side menu and then Provisioning.
  3. Select Configure file provisioning.

Connect to local storage

The local path can point to any directory that is permitted by the configuration. Refer to Enabled required feature toggles and paths for information.

The starting path is always your working grafana directory. The prefix that must be entered is determined by the locations configured in permitted_provisioning_paths. The default paths are devenv/dev-dashboards and conf/provisioning in your grafana installation directory. The value you enter in the Grafana UI must begin with any of the configured values. For example, conf/provisioning/test is valid, but conf/test is not.

  1. Enter the Local path, for example grafana/. This must begin with any of the configured permitted_provisioned_paths.
  2. Select Choose what to synchronize.

The set up process verifies the path and provides an error message if a problem occurs.

Choose what to synchronize

In this section, you determine the actions taken with the storage you selected.

  1. Select how resources should be handled in Grafana.
  • Choose Sync all resources with external storage if you want to sync and manage your entire Grafana instance through external storage. You can only have one provisioned connection with this selection.
  • Choose Sync external storage to new Grafana folder to sync external resources into a new folder without affecting the rest of your instance. You can repeat this process for up to 10 folders. - Enter a Display name for the repository connection. Resources stored in this connection appear under the chosen display name in the Grafana UI.
  1. Select Synchronize to continue.

Synchronize with external storage

After this one time step, all future updates are automatically saved to the local file path and provisioned back to the instance.

During the initial synchronization, your dashboards will be temporarily unavailable. No data or configurations will be lost. How long the process takes depends upon the number of resources involved.

Select Begin synchronization to start the process.

Choose additional settings

If you wish, you can make any files synchronized as as Read only so no changes can be made to the resources through Grafana. Any resources made outside of Grafana and saved to the local repository will be reflected in Grafana.

Select Finish.

Verify your dashboards in Grafana

To verify that your dashboards are available at the location that you specified, click Dashboards. The name of the dashboard is listed in the Name column.