grafana/grafana
apps/folder
Folder resource. Source under apps/folder/.
Folders are containers for dashboards (and increasingly other resource types). They form a tree — the dashboard's effective permissions inherit from the parent folder unless overridden.
What's exposed
- A single resource:
Folderinfolder.grafana.app/v1(and earlier alpha versions). - Standard k8s verbs: get, list, watch, create, update, delete.
- Custom subresources for nested folders and permission helpers.
Migration story
apps/folder/ is the canonical example of the in-flight legacy → unified migration:
- Legacy:
pkg/services/folder/writes to thefolderSQL table. - New:
apps/folder/exposes the same data as a k8s resource and (when enabled) writes through unified storage. - Both are kept in sync via dual-write.
The folder app is small enough to read end-to-end and make sense of how the migration is structured. New apps tend to copy its layout.
Layout
apps/folder/
├── kinds/ # CUE definitions
├── pkg/apis/folder/v0alpha1/ # Earlier alpha
├── pkg/apis/folder/v1/ # Stable
├── pkg/apis/folder/v1beta1/ # Newer beta
└── plugin/ # App SDK manifestSee also
- Backend / Dashboards — folder ↔ dashboard relationship.
- Backend / Unified storage.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.