From 804bd08f11d6898e8fd94ab847c30a3e4518261b Mon Sep 17 00:00:00 2001 From: Ryan McKinley Date: Wed, 8 Feb 2023 16:01:34 -0800 Subject: [PATCH] Chore: remove unused feature flag showFeatureFlagsInUI (#62908) --- .../configure-grafana/feature-toggles/index.md | 1 - go.mod | 2 +- .../src/types/featureToggles.gen.ts | 1 - pkg/api/api.go | 3 --- .../accesscontrol/accesscontrol_test.go | 3 +++ pkg/services/featuremgmt/manager.go | 17 ----------------- pkg/services/featuremgmt/registry.go | 6 ------ pkg/services/featuremgmt/toggles_gen.go | 4 ---- pkg/services/featuremgmt/usage_stats_test.go | 14 ++++++-------- 9 files changed, 10 insertions(+), 41 deletions(-) diff --git a/docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md b/docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md index df5d7b944e9..85e04057306 100644 --- a/docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md +++ b/docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md @@ -98,7 +98,6 @@ The following toggles require explicitly setting Grafana's [app mode]({{< relref | Feature toggle name | Description | | ------------------------------ | ----------------------------------------------------------------------- | -| `showFeatureFlagsInUI` | Show feature flags in the settings UI | | `publicDashboardsEmailSharing` | Allows public dashboard sharing to be restricted to only allowed emails | | `k8s` | Explore native k8s integrations | | `k8sDashboards` | Save dashboards via k8s | diff --git a/go.mod b/go.mod index 4896c31868e..82a65057671 100644 --- a/go.mod +++ b/go.mod @@ -130,7 +130,7 @@ require ( gopkg.in/square/go-jose.v2 v2.5.1 gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 - xorm.io/builder v0.3.6 // indirect + xorm.io/builder v0.3.6 xorm.io/core v0.7.3 xorm.io/xorm v0.8.2 ) diff --git a/packages/grafana-data/src/types/featureToggles.gen.ts b/packages/grafana-data/src/types/featureToggles.gen.ts index 44a38f956f4..255e31de55d 100644 --- a/packages/grafana-data/src/types/featureToggles.gen.ts +++ b/packages/grafana-data/src/types/featureToggles.gen.ts @@ -26,7 +26,6 @@ export interface FeatureToggles { queryOverLive?: boolean; panelTitleSearch?: boolean; prometheusAzureOverrideAudience?: boolean; - showFeatureFlagsInUI?: boolean; publicDashboards?: boolean; publicDashboardsEmailSharing?: boolean; lokiLive?: boolean; diff --git a/pkg/api/api.go b/pkg/api/api.go index 22032c04f4b..15092de31bf 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -629,9 +629,6 @@ func (hs *HTTPServer) registerRoutes() { // admin api r.Group("/api/admin", func(adminRoute routing.RouteRegister) { adminRoute.Get("/settings", authorize(reqGrafanaAdmin, ac.EvalPermission(ac.ActionSettingsRead)), routing.Wrap(hs.AdminGetSettings)) - if hs.Features.IsEnabled(featuremgmt.FlagShowFeatureFlagsInUI) { - adminRoute.Get("/settings/features", authorize(reqGrafanaAdmin, ac.EvalPermission(ac.ActionSettingsRead)), hs.Features.HandleGetSettings) - } adminRoute.Get("/stats", authorize(reqGrafanaAdmin, ac.EvalPermission(ac.ActionServerStatsRead)), routing.Wrap(hs.AdminGetStats)) adminRoute.Post("/pause-all-alerts", reqGrafanaAdmin, routing.Wrap(hs.PauseAllAlerts(setting.AlertingEnabled))) diff --git a/pkg/services/accesscontrol/accesscontrol_test.go b/pkg/services/accesscontrol/accesscontrol_test.go index 6d8afd673da..b39ca3b8a80 100644 --- a/pkg/services/accesscontrol/accesscontrol_test.go +++ b/pkg/services/accesscontrol/accesscontrol_test.go @@ -4,6 +4,9 @@ import ( "testing" "github.com/stretchr/testify/require" + + // this import is needed for github.com/grafana/grafana/pkg/web hack_wrap to work + _ "github.com/grafana/grafana/pkg/api/response" ) func TestReduce(t *testing.T) { diff --git a/pkg/services/featuremgmt/manager.go b/pkg/services/featuremgmt/manager.go index 223393fde8f..8e114817ea7 100644 --- a/pkg/services/featuremgmt/manager.go +++ b/pkg/services/featuremgmt/manager.go @@ -3,12 +3,9 @@ package featuremgmt import ( "context" "fmt" - "net/http" "reflect" - "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/infra/log" - contextmodel "github.com/grafana/grafana/pkg/services/contexthandler/model" "github.com/grafana/grafana/pkg/services/licensing" ) @@ -151,20 +148,6 @@ func (fm *FeatureManager) GetFlags() []FeatureFlag { return v } -func (fm *FeatureManager) HandleGetSettings(c *contextmodel.ReqContext) { - res := make(map[string]interface{}, 3) - res["enabled"] = fm.GetEnabled(c.Req.Context()) - - vv := make([]*FeatureFlag, 0, len(fm.flags)) - for _, v := range fm.flags { - vv = append(vv, v) - } - - res["info"] = vv - - response.JSON(http.StatusOK, res).WriteTo(c) -} - // WithFeatures is used to define feature toggles for testing. // The arguments are a list of strings that are optionally followed by a boolean value for example: // WithFeatures([]interface{}{"my_feature", "other_feature"}) or WithFeatures([]interface{}{"my_feature", true}) diff --git a/pkg/services/featuremgmt/registry.go b/pkg/services/featuremgmt/registry.go index b0523678616..f14fde64bd7 100644 --- a/pkg/services/featuremgmt/registry.go +++ b/pkg/services/featuremgmt/registry.go @@ -61,12 +61,6 @@ var ( Description: "Experimental. Allow override default AAD audience for Azure Prometheus endpoint", State: FeatureStateBeta, }, - { - Name: "showFeatureFlagsInUI", - Description: "Show feature flags in the settings UI", - State: FeatureStateAlpha, - RequiresDevMode: true, - }, { Name: "publicDashboards", Description: "Enables public access to dashboards", diff --git a/pkg/services/featuremgmt/toggles_gen.go b/pkg/services/featuremgmt/toggles_gen.go index 1a58c99cae8..35cbddb10ee 100644 --- a/pkg/services/featuremgmt/toggles_gen.go +++ b/pkg/services/featuremgmt/toggles_gen.go @@ -47,10 +47,6 @@ const ( // Experimental. Allow override default AAD audience for Azure Prometheus endpoint FlagPrometheusAzureOverrideAudience = "prometheusAzureOverrideAudience" - // FlagShowFeatureFlagsInUI - // Show feature flags in the settings UI - FlagShowFeatureFlagsInUI = "showFeatureFlagsInUI" - // FlagPublicDashboards // Enables public access to dashboards FlagPublicDashboards = "publicDashboards" diff --git a/pkg/services/featuremgmt/usage_stats_test.go b/pkg/services/featuremgmt/usage_stats_test.go index 7e655a653c1..90cba229ab8 100644 --- a/pkg/services/featuremgmt/usage_stats_test.go +++ b/pkg/services/featuremgmt/usage_stats_test.go @@ -13,18 +13,16 @@ func TestFeatureUsageStats(t *testing.T) { "database_metrics", "dashboardPreviews", "live-config", - "showFeatureFlagsInUI", "UPPER_SNAKE_CASE", "feature.with.a.dot", ) require.Equal(t, map[string]interface{}{ - "stats.features.trim_defaults.count": 1, - "stats.features.database_metrics.count": 1, - "stats.features.dashboard_previews.count": 1, - "stats.features.live_config.count": 1, - "stats.features.show_feature_flags_in_ui.count": 1, - "stats.features.upper_snake_case.count": 1, - "stats.features.feature_with_a_dot.count": 1, + "stats.features.trim_defaults.count": 1, + "stats.features.database_metrics.count": 1, + "stats.features.dashboard_previews.count": 1, + "stats.features.live_config.count": 1, + "stats.features.upper_snake_case.count": 1, + "stats.features.feature_with_a_dot.count": 1, }, featureManagerWithAllFeatures.GetUsageStats(context.Background())) }