K8s: Library panels: move to separate ff (#108384)
This commit is contained in:
@@ -292,6 +292,10 @@ export interface FeatureToggles {
|
|||||||
*/
|
*/
|
||||||
kubernetesLibraryPanels?: boolean;
|
kubernetesLibraryPanels?: boolean;
|
||||||
/**
|
/**
|
||||||
|
* Routes library panel connections requests from /api to using search
|
||||||
|
*/
|
||||||
|
kubernetesLibraryPanelConnections?: boolean;
|
||||||
|
/**
|
||||||
* Use the kubernetes API in the frontend for dashboards
|
* Use the kubernetes API in the frontend for dashboards
|
||||||
*/
|
*/
|
||||||
kubernetesDashboards?: boolean;
|
kubernetesDashboards?: boolean;
|
||||||
|
|||||||
@@ -482,7 +482,7 @@ func (dr *DashboardServiceImpl) Count(ctx context.Context, scopeParams *quota.Sc
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (dr *DashboardServiceImpl) GetDashboardsByLibraryPanelUID(ctx context.Context, libraryPanelUID string, orgID int64) ([]*dashboards.DashboardRef, error) {
|
func (dr *DashboardServiceImpl) GetDashboardsByLibraryPanelUID(ctx context.Context, libraryPanelUID string, orgID int64) ([]*dashboards.DashboardRef, error) {
|
||||||
if dr.features.IsEnabledGlobally(featuremgmt.FlagKubernetesClientDashboardsFolders) && dr.features.IsEnabledGlobally(featuremgmt.FlagKubernetesLibraryPanels) {
|
if dr.features.IsEnabledGlobally(featuremgmt.FlagKubernetesClientDashboardsFolders) && dr.features.IsEnabledGlobally(featuremgmt.FlagKubernetesLibraryPanelConnections) {
|
||||||
res, err := dr.k8sclient.Search(ctx, orgID, &resourcepb.ResourceSearchRequest{
|
res, err := dr.k8sclient.Search(ctx, orgID, &resourcepb.ResourceSearchRequest{
|
||||||
Options: &resourcepb.ListOptions{
|
Options: &resourcepb.ListOptions{
|
||||||
Fields: []*resourcepb.Requirement{
|
Fields: []*resourcepb.Requirement{
|
||||||
|
|||||||
@@ -2934,7 +2934,7 @@ func TestGetDashboardsByLibraryPanelUID(t *testing.T) {
|
|||||||
dashboardStore: &fakeStore,
|
dashboardStore: &fakeStore,
|
||||||
folderService: folderSvc,
|
folderService: folderSvc,
|
||||||
ac: actest.FakeAccessControl{ExpectedEvaluate: true},
|
ac: actest.FakeAccessControl{ExpectedEvaluate: true},
|
||||||
features: featuremgmt.WithFeatures(featuremgmt.FlagKubernetesClientDashboardsFolders, featuremgmt.FlagKubernetesLibraryPanels),
|
features: featuremgmt.WithFeatures(featuremgmt.FlagKubernetesClientDashboardsFolders, featuremgmt.FlagKubernetesLibraryPanelConnections),
|
||||||
publicDashboardService: fakePublicDashboardService,
|
publicDashboardService: fakePublicDashboardService,
|
||||||
k8sclient: k8sCliMock,
|
k8sclient: k8sCliMock,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -484,6 +484,13 @@ var (
|
|||||||
Owner: grafanaAppPlatformSquad,
|
Owner: grafanaAppPlatformSquad,
|
||||||
RequiresRestart: true, // changes the API routing
|
RequiresRestart: true, // changes the API routing
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "kubernetesLibraryPanelConnections",
|
||||||
|
Description: "Routes library panel connections requests from /api to using search",
|
||||||
|
Stage: FeatureStageExperimental,
|
||||||
|
Owner: grafanaAppPlatformSquad,
|
||||||
|
RequiresRestart: true, // changes the API routing
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "kubernetesDashboards",
|
Name: "kubernetesDashboards",
|
||||||
Description: "Use the kubernetes API in the frontend for dashboards",
|
Description: "Use the kubernetes API in the frontend for dashboards",
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ disableClassicHTTPHistogram,experimental,@grafana/grafana-backend-services-squad
|
|||||||
formatString,GA,@grafana/dataviz-squad,false,false,true
|
formatString,GA,@grafana/dataviz-squad,false,false,true
|
||||||
kubernetesSnapshots,experimental,@grafana/grafana-app-platform-squad,false,true,false
|
kubernetesSnapshots,experimental,@grafana/grafana-app-platform-squad,false,true,false
|
||||||
kubernetesLibraryPanels,experimental,@grafana/grafana-app-platform-squad,false,true,false
|
kubernetesLibraryPanels,experimental,@grafana/grafana-app-platform-squad,false,true,false
|
||||||
|
kubernetesLibraryPanelConnections,experimental,@grafana/grafana-app-platform-squad,false,true,false
|
||||||
kubernetesDashboards,experimental,@grafana/grafana-app-platform-squad,false,false,true
|
kubernetesDashboards,experimental,@grafana/grafana-app-platform-squad,false,false,true
|
||||||
kubernetesClientDashboardsFolders,GA,@grafana/grafana-app-platform-squad,false,false,false
|
kubernetesClientDashboardsFolders,GA,@grafana/grafana-app-platform-squad,false,false,false
|
||||||
dashboardDisableSchemaValidationV1,experimental,@grafana/grafana-app-platform-squad,false,false,false
|
dashboardDisableSchemaValidationV1,experimental,@grafana/grafana-app-platform-squad,false,false,false
|
||||||
|
|||||||
|
@@ -259,6 +259,10 @@ const (
|
|||||||
// Routes library panel requests from /api to the /apis endpoint
|
// Routes library panel requests from /api to the /apis endpoint
|
||||||
FlagKubernetesLibraryPanels = "kubernetesLibraryPanels"
|
FlagKubernetesLibraryPanels = "kubernetesLibraryPanels"
|
||||||
|
|
||||||
|
// FlagKubernetesLibraryPanelConnections
|
||||||
|
// Routes library panel connections requests from /api to using search
|
||||||
|
FlagKubernetesLibraryPanelConnections = "kubernetesLibraryPanelConnections"
|
||||||
|
|
||||||
// FlagKubernetesDashboards
|
// FlagKubernetesDashboards
|
||||||
// Use the kubernetes API in the frontend for dashboards
|
// Use the kubernetes API in the frontend for dashboards
|
||||||
FlagKubernetesDashboards = "kubernetesDashboards"
|
FlagKubernetesDashboards = "kubernetesDashboards"
|
||||||
|
|||||||
@@ -1798,6 +1798,19 @@
|
|||||||
"hideFromAdminPage": true
|
"hideFromAdminPage": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"name": "kubernetesLibraryPanelConnections",
|
||||||
|
"resourceVersion": "1753100797468",
|
||||||
|
"creationTimestamp": "2025-07-21T12:26:37Z"
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"description": "Routes library panel connections requests from /api to using search",
|
||||||
|
"stage": "experimental",
|
||||||
|
"codeowner": "@grafana/grafana-app-platform-squad",
|
||||||
|
"requiresRestart": true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "kubernetesLibraryPanels",
|
"name": "kubernetesLibraryPanels",
|
||||||
|
|||||||
Reference in New Issue
Block a user