Playlists: Merge the frontend vs backend k8s feature flags (#77875)

pull/77890/head
Ryan McKinley 2 years ago committed by GitHub
parent 6ab79a9f2f
commit 4b5310dae7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md
  2. 1
      packages/grafana-data/src/types/featureToggles.gen.ts
  3. 2
      pkg/api/playlist.go
  4. 11
      pkg/services/featuremgmt/registry.go
  5. 3
      pkg/services/featuremgmt/toggles_gen.csv
  6. 6
      pkg/services/featuremgmt/toggles_gen.go
  7. 2
      pkg/tests/apis/playlist/playlist_test.go

@ -145,8 +145,7 @@ Experimental features might be changed or removed without prior notice.
| `enableNativeHTTPHistogram` | Enables native HTTP Histograms |
| `formatString` | Enable format string transformer |
| `transformationsVariableSupport` | Allows using variables in transformations |
| `kubernetesPlaylists` | Use the kubernetes API in the frontend for playlists |
| `kubernetesPlaylistsAPI` | Route /api/playlist API to k8s handlers |
| `kubernetesPlaylists` | Use the kubernetes API in the frontend for playlists, and route /api/playlist requests to k8s |
| `navAdminSubsections` | Splits the administration section of the nav tree into subsections |
| `recoveryThreshold` | Enables feature recovery threshold (aka hysteresis) for threshold server-side expression |
| `teamHttpHeaders` | Enables datasources to apply team headers to the client requests |

@ -138,7 +138,6 @@ export interface FeatureToggles {
formatString?: boolean;
transformationsVariableSupport?: boolean;
kubernetesPlaylists?: boolean;
kubernetesPlaylistsAPI?: boolean;
cloudWatchBatchQueries?: boolean;
navAdminSubsections?: boolean;
recoveryThreshold?: boolean;

@ -26,7 +26,7 @@ import (
func (hs *HTTPServer) registerPlaylistAPI(apiRoute routing.RouteRegister) {
// Register the actual handlers
apiRoute.Group("/playlists", func(playlistRoute routing.RouteRegister) {
if hs.Features.IsEnabled(featuremgmt.FlagKubernetesPlaylistsAPI) {
if hs.Features.IsEnabled(featuremgmt.FlagKubernetesPlaylists) {
// Use k8s client to implement legacy API
handler := newPlaylistK8sHandler(hs)
playlistRoute.Get("/", handler.searchPlaylists)

@ -873,15 +873,8 @@ var (
Owner: grafanaBiSquad,
},
{
Name: "kubernetesPlaylists",
Description: "Use the kubernetes API in the frontend for playlists",
FrontendOnly: true,
Stage: FeatureStageExperimental,
Owner: grafanaAppPlatformSquad,
},
{
Name: "kubernetesPlaylistsAPI",
Description: "Route /api/playlist API to k8s handlers",
Name: "kubernetesPlaylists",
Description: "Use the kubernetes API in the frontend for playlists, and route /api/playlist requests to k8s",
Stage: FeatureStageExperimental,
Owner: grafanaAppPlatformSquad,
RequiresRestart: true, // changes the API routing

@ -118,8 +118,7 @@ panelMonitoring,experimental,@grafana/dataviz-squad,false,false,false,true
enableNativeHTTPHistogram,experimental,@grafana/hosted-grafana-team,false,false,false,false
formatString,experimental,@grafana/grafana-bi-squad,false,false,false,true
transformationsVariableSupport,experimental,@grafana/grafana-bi-squad,false,false,false,true
kubernetesPlaylists,experimental,@grafana/grafana-app-platform-squad,false,false,false,true
kubernetesPlaylistsAPI,experimental,@grafana/grafana-app-platform-squad,false,false,true,false
kubernetesPlaylists,experimental,@grafana/grafana-app-platform-squad,false,false,true,false
cloudWatchBatchQueries,preview,@grafana/aws-datasources,false,false,false,false
navAdminSubsections,experimental,@grafana/grafana-frontend-platform,false,false,false,false
recoveryThreshold,experimental,@grafana/alerting-squad,false,false,true,false

1 Name Stage Owner requiresDevMode RequiresLicense RequiresRestart FrontendOnly
118 enableNativeHTTPHistogram experimental @grafana/hosted-grafana-team false false false false
119 formatString experimental @grafana/grafana-bi-squad false false false true
120 transformationsVariableSupport experimental @grafana/grafana-bi-squad false false false true
121 kubernetesPlaylists experimental @grafana/grafana-app-platform-squad false false false true true false
kubernetesPlaylistsAPI experimental @grafana/grafana-app-platform-squad false false true false
122 cloudWatchBatchQueries preview @grafana/aws-datasources false false false false
123 navAdminSubsections experimental @grafana/grafana-frontend-platform false false false false
124 recoveryThreshold experimental @grafana/alerting-squad false false true false

@ -484,13 +484,9 @@ const (
FlagTransformationsVariableSupport = "transformationsVariableSupport"
// FlagKubernetesPlaylists
// Use the kubernetes API in the frontend for playlists
// Use the kubernetes API in the frontend for playlists, and route /api/playlist requests to k8s
FlagKubernetesPlaylists = "kubernetesPlaylists"
// FlagKubernetesPlaylistsAPI
// Route /api/playlist API to k8s handlers
FlagKubernetesPlaylistsAPI = "kubernetesPlaylistsAPI"
// FlagCloudWatchBatchQueries
// Runs CloudWatch metrics queries as separate batches
FlagCloudWatchBatchQueries = "cloudWatchBatchQueries"

@ -41,7 +41,7 @@ func TestPlaylist(t *testing.T) {
DisableAnonymous: true,
EnableFeatureToggles: []string{
featuremgmt.FlagGrafanaAPIServer,
featuremgmt.FlagKubernetesPlaylistsAPI, // <<< The change we are testing!
featuremgmt.FlagKubernetesPlaylists, // <<< The change we are testing!
},
}))
})

Loading…
Cancel
Save