docs/sources/as-code/observability-as-code/git-sync/scenarios/multi-team.md
Use a single Grafana instance with multiple Repository resources, one per team. Each team manages its own dashboards while sharing Grafana.
┌─────────────────────────┐ ┌─────────────────────────┐
│ Platform Team Repo │ │ Data Team Repo │
│ platform-dashboards │ │ data-dashboards │
│ │ │ │
│ platform-dashboards/ │ │ data-dashboards/ │
│ └── grafana/ │ │ └── grafana/ │
│ ├── k8s.json │ │ ├── pipeline.json │
│ └── infra.json │ │ └── analytics.json │
└─────────────────────────┘ └─────────────────────────┘
↕ ↕
Git Sync (grafana/) Git Sync (grafana/)
↕ ↕
┌──────────────────────────────────────┐
│ Grafana Instance │
│ │
│ Repository 1: │
│ - repo: platform-dashboards │
│ → Creates "platform-dashboards" │
│ │
│ Repository 2: │
│ - repo: data-dashboards │
│ → Creates "data-dashboards" │
└──────────────────────────────────────┘
In Git (separate repositories):
Platform team repository:
your-org/platform-dashboards
└── grafana/
├── dashboard-k8s.json
└── dashboard-infra.json
Data team repository:
your-org/data-dashboards
└── grafana/
├── dashboard-pipeline.json
└── dashboard-analytics.json
In Grafana Dashboards view:
Dashboards
├── 📁 platform-dashboards/
│ ├── Kubernetes Dashboard
│ └── Infrastructure Dashboard
└── 📁 data-dashboards/
├── Pipeline Dashboard
└── Analytics Dashboard
Platform team repository:
your-org/platform-dashboardsmaingrafana/Data team repository:
your-org/data-dashboardsmaingrafana/your-org/platform-dashboards repository.your-org/data-dashboards repository.Adding additional teams is straightforward. For a third team, create a new repository and configure:
your-org/security-dashboardsmaingrafana/This creates a new "security-dashboards" folder in the same Grafana instance.
For teams that prefer sharing a single repository, use different paths to separate team dashboards:
In Git:
your-org/grafana-manifests
├── team-platform/
│ ├── dashboard-k8s.json
│ └── dashboard-infra.json
└── team-data/
├── dashboard-pipeline.json
└── dashboard-analytics.json
Configuration:
Platform team:
your-org/grafana-manifestsmainteam-platform/Data team:
your-org/grafana-manifestsmainteam-data/This approach provides simpler repository management but less isolation between teams.
For teams wanting their own branch in a shared repository:
Platform team:
your-org/grafana-manifeststeam-platformgrafana/Data team:
your-org/grafana-manifeststeam-datagrafana/This allows teams to use Git branch workflows for collaboration while sharing the same repository.