Library Panels: Remove k8s connections feature flag (#108881)
This commit is contained in:
@@ -282,10 +282,6 @@ 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;
|
||||
|
||||
@@ -474,40 +474,36 @@ 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.FlagKubernetesLibraryPanelConnections) {
|
||||
res, err := dr.k8sclient.Search(ctx, orgID, &resourcepb.ResourceSearchRequest{
|
||||
Options: &resourcepb.ListOptions{
|
||||
Fields: []*resourcepb.Requirement{
|
||||
{
|
||||
Key: search.DASHBOARD_LIBRARY_PANEL_REFERENCE,
|
||||
Operator: string(selection.Equals),
|
||||
Values: []string{libraryPanelUID},
|
||||
},
|
||||
res, err := dr.k8sclient.Search(ctx, orgID, &resourcepb.ResourceSearchRequest{
|
||||
Options: &resourcepb.ListOptions{
|
||||
Fields: []*resourcepb.Requirement{
|
||||
{
|
||||
Key: search.DASHBOARD_LIBRARY_PANEL_REFERENCE,
|
||||
Operator: string(selection.Equals),
|
||||
Values: []string{libraryPanelUID},
|
||||
},
|
||||
},
|
||||
Limit: listAllDashboardsLimit,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
results, err := dashboardsearch.ParseResults(res, 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
dashes := make([]*dashboards.DashboardRef, 0, len(results.Hits))
|
||||
for _, row := range results.Hits {
|
||||
dashes = append(dashes, &dashboards.DashboardRef{
|
||||
UID: row.Name,
|
||||
FolderUID: row.Folder,
|
||||
ID: row.Field.GetNestedInt64(resource.SEARCH_FIELD_LEGACY_ID), // nolint:staticcheck
|
||||
})
|
||||
}
|
||||
return dashes, nil
|
||||
},
|
||||
Limit: listAllDashboardsLimit,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return dr.dashboardStore.GetDashboardsByLibraryPanelUID(ctx, libraryPanelUID, orgID)
|
||||
results, err := dashboardsearch.ParseResults(res, 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
dashes := make([]*dashboards.DashboardRef, 0, len(results.Hits))
|
||||
for _, row := range results.Hits {
|
||||
dashes = append(dashes, &dashboards.DashboardRef{
|
||||
UID: row.Name,
|
||||
FolderUID: row.Folder,
|
||||
ID: row.Field.GetNestedInt64(resource.SEARCH_FIELD_LEGACY_ID), // nolint:staticcheck
|
||||
})
|
||||
}
|
||||
return dashes, nil
|
||||
}
|
||||
|
||||
func (dr *DashboardServiceImpl) CountDashboardsInOrg(ctx context.Context, orgID int64) (int64, error) {
|
||||
|
||||
@@ -2493,7 +2493,7 @@ func TestGetDashboardsByLibraryPanelUID(t *testing.T) {
|
||||
dashboardStore: &fakeStore,
|
||||
folderService: folderSvc,
|
||||
ac: actest.FakeAccessControl{ExpectedEvaluate: true},
|
||||
features: featuremgmt.WithFeatures(featuremgmt.FlagKubernetesLibraryPanelConnections),
|
||||
features: featuremgmt.WithFeatures(),
|
||||
publicDashboardService: fakePublicDashboardService,
|
||||
k8sclient: k8sCliMock,
|
||||
}
|
||||
|
||||
@@ -469,13 +469,6 @@ 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",
|
||||
|
||||
@@ -60,7 +60,6 @@ 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
|
||||
dashboardDisableSchemaValidationV1,experimental,@grafana/grafana-app-platform-squad,false,false,false
|
||||
dashboardDisableSchemaValidationV2,experimental,@grafana/grafana-app-platform-squad,false,false,false
|
||||
|
||||
|
@@ -251,10 +251,6 @@ 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"
|
||||
|
||||
@@ -1756,19 +1756,6 @@
|
||||
"hideFromAdminPage": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"name": "kubernetesLibraryPanelConnections",
|
||||
"resourceVersion": "1753448760331",
|
||||
"creationTimestamp": "2025-07-25T13:06:00Z"
|
||||
},
|
||||
"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",
|
||||
|
||||
Reference in New Issue
Block a user