K8s: Library panels: move to separate ff (#108384)

This commit is contained in:
Stephanie Hingtgen
2025-07-21 07:53:46 -05:00
committed by GitHub
parent 91825be1dd
commit 5ec3a2b758
7 changed files with 31 additions and 2 deletions

View File

@ -292,6 +292,10 @@ export interface FeatureToggles {
*/
kubernetesLibraryPanels?: boolean;
/**
* Routes library panel connections requests from /api to using search
*/
kubernetesLibraryPanelConnections?: boolean;
/**
* Use the kubernetes API in the frontend for dashboards
*/
kubernetesDashboards?: boolean;

View File

@ -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) {
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{
Options: &resourcepb.ListOptions{
Fields: []*resourcepb.Requirement{

View File

@ -2934,7 +2934,7 @@ func TestGetDashboardsByLibraryPanelUID(t *testing.T) {
dashboardStore: &fakeStore,
folderService: folderSvc,
ac: actest.FakeAccessControl{ExpectedEvaluate: true},
features: featuremgmt.WithFeatures(featuremgmt.FlagKubernetesClientDashboardsFolders, featuremgmt.FlagKubernetesLibraryPanels),
features: featuremgmt.WithFeatures(featuremgmt.FlagKubernetesClientDashboardsFolders, featuremgmt.FlagKubernetesLibraryPanelConnections),
publicDashboardService: fakePublicDashboardService,
k8sclient: k8sCliMock,
}

View File

@ -484,6 +484,13 @@ var (
Owner: grafanaAppPlatformSquad,
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",
Description: "Use the kubernetes API in the frontend for dashboards",

View File

@ -62,6 +62,7 @@ disableClassicHTTPHistogram,experimental,@grafana/grafana-backend-services-squad
formatString,GA,@grafana/dataviz-squad,false,false,true
kubernetesSnapshots,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
kubernetesClientDashboardsFolders,GA,@grafana/grafana-app-platform-squad,false,false,false
dashboardDisableSchemaValidationV1,experimental,@grafana/grafana-app-platform-squad,false,false,false

1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
62 formatString GA @grafana/dataviz-squad false false true
63 kubernetesSnapshots experimental @grafana/grafana-app-platform-squad false true false
64 kubernetesLibraryPanels experimental @grafana/grafana-app-platform-squad false true false
65 kubernetesLibraryPanelConnections experimental @grafana/grafana-app-platform-squad false true false
66 kubernetesDashboards experimental @grafana/grafana-app-platform-squad false false true
67 kubernetesClientDashboardsFolders GA @grafana/grafana-app-platform-squad false false false
68 dashboardDisableSchemaValidationV1 experimental @grafana/grafana-app-platform-squad false false false

View File

@ -259,6 +259,10 @@ const (
// Routes library panel requests from /api to the /apis endpoint
FlagKubernetesLibraryPanels = "kubernetesLibraryPanels"
// FlagKubernetesLibraryPanelConnections
// Routes library panel connections requests from /api to using search
FlagKubernetesLibraryPanelConnections = "kubernetesLibraryPanelConnections"
// FlagKubernetesDashboards
// Use the kubernetes API in the frontend for dashboards
FlagKubernetesDashboards = "kubernetesDashboards"

View File

@ -1798,6 +1798,19 @@
"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": {
"name": "kubernetesLibraryPanels",