Unistore: Get Folder By ID (#99131)

* Unistore: Get Folder By ID

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
This commit is contained in:
maicon
2025-01-22 01:45:59 -03:00
committed by GitHub
co-authored by Stephanie Hingtgen
parent 20d25c6ad9
commit 28ad61ff6c
11 changed files with 425 additions and 187 deletions
+17 -11
View File
@@ -38,6 +38,7 @@ import (
"github.com/grafana/grafana/pkg/services/supportbundles"
"github.com/grafana/grafana/pkg/services/user"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/storage/unified"
"github.com/grafana/grafana/pkg/util"
)
@@ -76,21 +77,11 @@ func ProvideService(
r prometheus.Registerer,
tracer tracing.Tracer,
) *Service {
k8sHandler := &foldk8sHandler{
gvr: v0alpha1.FolderResourceInfo.GroupVersionResource(),
namespacer: request.GetNamespaceMapper(cfg),
cfg: cfg,
restConfigProvider: apiserver.GetRestConfig,
}
unifiedStore := ProvideUnifiedStore(k8sHandler)
srv := &Service{
log: slog.Default().With("logger", "folder-service"),
dashboardStore: dashboardStore,
dashboardFolderStore: folderStore,
store: store,
unifiedStore: unifiedStore,
features: features,
accessControl: ac,
bus: bus,
@@ -98,7 +89,6 @@ func ProvideService(
registry: make(map[string]folder.RegistryService),
metrics: newFoldersMetrics(r),
tracer: tracer,
k8sclient: k8sHandler,
}
srv.DBMigration(db)
@@ -106,6 +96,22 @@ func ProvideService(
ac.RegisterScopeAttributeResolver(dashboards.NewFolderIDScopeResolver(folderStore, srv))
ac.RegisterScopeAttributeResolver(dashboards.NewFolderUIDScopeResolver(srv))
if features.IsEnabledGlobally(featuremgmt.FlagKubernetesFoldersServiceV2) {
k8sHandler := &foldk8sHandler{
gvr: v0alpha1.FolderResourceInfo.GroupVersionResource(),
namespacer: request.GetNamespaceMapper(cfg),
cfg: cfg,
restConfigProvider: apiserver.GetRestConfig,
recourceClientProvider: unified.GetResourceClient,
}
unifiedStore := ProvideUnifiedStore(k8sHandler)
srv.unifiedStore = unifiedStore
srv.k8sclient = k8sHandler
}
return srv
}