k8s: add feature toggle and stub to save dashboards k8s (#62053)
This commit is contained in:
@@ -31,7 +31,9 @@ var (
|
||||
{Action: dashboards.ActionDashboardsWrite, Scope: dashboards.ScopeFoldersAll},
|
||||
}
|
||||
// DashboardServiceImpl implements the DashboardService interface
|
||||
_ dashboards.DashboardService = (*DashboardServiceImpl)(nil)
|
||||
_ dashboards.DashboardService = (*DashboardServiceImpl)(nil)
|
||||
_ dashboards.DashboardProvisioningService = (*DashboardServiceImpl)(nil)
|
||||
_ dashboards.PluginService = (*DashboardServiceImpl)(nil)
|
||||
)
|
||||
|
||||
type DashboardServiceImpl struct {
|
||||
@@ -46,6 +48,7 @@ type DashboardServiceImpl struct {
|
||||
ac accesscontrol.AccessControl
|
||||
}
|
||||
|
||||
// This is the uber service that implements a three smaller services
|
||||
func ProvideDashboardService(
|
||||
cfg *setting.Cfg, dashboardStore dashboards.Store, folderStore dashboards.FolderStore, dashAlertExtractor alerting.DashAlertExtractor,
|
||||
features featuremgmt.FeatureToggles, folderPermissionsService accesscontrol.FolderPermissionsService,
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"github.com/grafana/grafana/pkg/services/dashboards"
|
||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
||||
"github.com/grafana/grafana/pkg/services/store/entity"
|
||||
"github.com/grafana/grafana/pkg/services/store/k8saccess"
|
||||
)
|
||||
|
||||
func ProvideSimpleDashboardService(
|
||||
features featuremgmt.FeatureToggles,
|
||||
svc *DashboardServiceImpl,
|
||||
k8s k8saccess.K8SAccess,
|
||||
store entity.EntityStoreServer,
|
||||
) dashboards.DashboardService {
|
||||
if features.IsEnabled(featuremgmt.FlagK8sDashboards) {
|
||||
if k8s.GetSystemClient() == nil {
|
||||
panic("k8s dashboards requires the k8s client registered")
|
||||
}
|
||||
return k8saccess.NewDashboardService(svc, store)
|
||||
}
|
||||
return svc
|
||||
}
|
||||
|
||||
func ProvideDashboardProvisioningService(
|
||||
features featuremgmt.FeatureToggles, orig *DashboardServiceImpl,
|
||||
) dashboards.DashboardProvisioningService {
|
||||
return orig
|
||||
}
|
||||
|
||||
func ProvideDashboardPluginService(
|
||||
features featuremgmt.FeatureToggles, orig *DashboardServiceImpl,
|
||||
) dashboards.PluginService {
|
||||
return orig
|
||||
}
|
||||
Reference in New Issue
Block a user