Feature flags: fix ownership for some flags (#104864)

* fixup flag ownership

* regen

* readd backend group

* individualCookiePreferences back to backend

* test fix
pull/105207/head
Artur Wierzbicki 2 months ago committed by GitHub
parent c2a54cd997
commit 9f4d489d7b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      packages/grafana-data/src/types/featureToggles.gen.ts
  2. 4
      pkg/services/featuremgmt/codeowners.go
  3. 17
      pkg/services/featuremgmt/registry.go
  4. 11
      pkg/services/featuremgmt/toggles_gen.csv
  5. 4
      pkg/services/featuremgmt/toggles_gen.go
  6. 62
      pkg/services/featuremgmt/toggles_gen.json

@ -269,10 +269,6 @@ export interface FeatureToggles {
*/
lokiRunQueriesInParallel?: boolean;
/**
* Placeholder feature flag for internal testing
*/
wargamesTesting?: boolean;
/**
* Allow core plugins to be loaded as external
* @default true
*/

@ -9,18 +9,15 @@ const (
grafanaDashboardsSquad codeowner = "@grafana/dashboards-squad"
grafanaDatavizSquad codeowner = "@grafana/dataviz-squad"
grafanaFrontendPlatformSquad codeowner = "@grafana/grafana-frontend-platform"
grafanaBackendGroup codeowner = "@grafana/grafana-backend-group"
grafanaBackendServicesSquad codeowner = "@grafana/grafana-backend-services-squad"
grafanaSearchAndStorageSquad codeowner = "@grafana/search-and-storage"
grafanaPluginsPlatformSquad codeowner = "@grafana/plugins-platform-backend"
grafanaFrontendOpsWG codeowner = "@grafana/frontend-ops"
grafanaAsCodeSquad codeowner = "@grafana/grafana-as-code"
identityAccessTeam codeowner = "@grafana/identity-access-team"
grafanaObservabilityLogsSquad codeowner = "@grafana/observability-logs"
grafanaObservabilityTracesAndProfilingSquad codeowner = "@grafana/observability-traces-and-profiling"
grafanaObservabilityMetricsSquad codeowner = "@grafana/observability-metrics"
grafanaAlertingSquad codeowner = "@grafana/alerting-squad"
hostedGrafanaTeam codeowner = "@grafana/hosted-grafana-team"
awsDatasourcesSquad codeowner = "@grafana/aws-datasources"
appO11ySquad codeowner = "@grafana/app-o11y"
grafanaPartnerPluginsSquad codeowner = "@grafana/partner-datasources"
@ -32,4 +29,5 @@ const (
grafanaOSSBigTent codeowner = "@grafana/oss-big-tent"
growthAndOnboarding codeowner = "@grafana/growth-and-onboarding"
grafanaDatasourcesCoreServicesSquad codeowner = "@grafana/grafana-datasources-core-services"
grafanaBackendGroup codeowner = "@grafana/grafana-backend-group"
)

@ -22,7 +22,7 @@ var (
Name: "disableEnvelopeEncryption",
Description: "Disable envelope encryption (emergency only)",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaAsCodeSquad,
Owner: grafanaOperatorExperienceSquad,
HideFromAdminPage: true,
AllowSelfServe: false,
Expression: "false",
@ -60,7 +60,7 @@ var (
Name: "featureHighlights",
Description: "Highlight Grafana Enterprise features",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaAsCodeSquad,
Owner: grafanaOperatorExperienceSquad,
AllowSelfServe: true,
Expression: "false",
},
@ -90,7 +90,7 @@ var (
Name: "logRequestsInstrumentedAsUnknown",
Description: "Logs the path for requests that are instrumented as unknown",
Stage: FeatureStageExperimental,
Owner: hostedGrafanaTeam,
Owner: grafanaBackendGroup,
},
{
Name: "grpcServer",
@ -232,7 +232,7 @@ var (
Name: "renderAuthJWT",
Description: "Uses JWT-based auth for rendering instead of relying on remote cache",
Stage: FeatureStagePublicPreview,
Owner: grafanaAsCodeSquad,
Owner: grafanaSharingSquad,
HideFromAdminPage: true,
},
{
@ -380,7 +380,7 @@ var (
Name: "permissionsFilterRemoveSubquery",
Description: "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder",
Stage: FeatureStageExperimental,
Owner: grafanaBackendGroup,
Owner: grafanaSearchAndStorageSquad,
},
{
Name: "configurableSchedulerTick",
@ -443,13 +443,6 @@ var (
FrontendOnly: false,
Owner: grafanaObservabilityLogsSquad,
},
{
Name: "wargamesTesting",
Description: "Placeholder feature flag for internal testing",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: hostedGrafanaTeam,
},
{
Name: "externalCorePlugins",
Description: "Allow core plugins to be loaded as external",

@ -1,14 +1,14 @@
Name,Stage,Owner,requiresDevMode,RequiresRestart,FrontendOnly
disableEnvelopeEncryption,GA,@grafana/grafana-as-code,false,false,false
disableEnvelopeEncryption,GA,@grafana/grafana-operator-experience-squad,false,false,false
panelTitleSearch,preview,@grafana/search-and-storage,false,false,false
publicDashboardsEmailSharing,preview,@grafana/sharing-squad,false,false,false
publicDashboardsScene,GA,@grafana/sharing-squad,false,false,true
lokiExperimentalStreaming,experimental,@grafana/observability-logs,false,false,false
featureHighlights,GA,@grafana/grafana-as-code,false,false,false
featureHighlights,GA,@grafana/grafana-operator-experience-squad,false,false,false
storage,experimental,@grafana/search-and-storage,false,false,false
correlations,GA,@grafana/dataviz-squad,false,false,false
canvasPanelNesting,experimental,@grafana/dataviz-squad,false,false,true
logRequestsInstrumentedAsUnknown,experimental,@grafana/hosted-grafana-team,false,false,false
logRequestsInstrumentedAsUnknown,experimental,@grafana/grafana-backend-group,false,false,false
grpcServer,preview,@grafana/search-and-storage,false,false,false
cloudWatchCrossAccountQuerying,GA,@grafana/aws-datasources,false,false,false
showDashboardValidationWarnings,experimental,@grafana/dashboards-squad,false,false,false
@ -28,7 +28,7 @@ lokiLogsDataplane,experimental,@grafana/observability-logs,false,false,false
dataplaneFrontendFallback,GA,@grafana/observability-metrics,false,false,true
disableSSEDataplane,experimental,@grafana/observability-metrics,false,false,false
unifiedRequestLog,GA,@grafana/grafana-backend-group,false,false,false
renderAuthJWT,preview,@grafana/grafana-as-code,false,false,false
renderAuthJWT,preview,@grafana/sharing-squad,false,false,false
refactorVariablesTimeRange,preview,@grafana/dashboards-squad,false,false,false
faroDatasourceSelector,preview,@grafana/app-o11y,false,false,true
enableDatagridEditing,preview,@grafana/dataviz-squad,false,false,true
@ -48,7 +48,7 @@ provisioning,experimental,@grafana/grafana-app-platform-squad,false,true,false
grafanaAPIServerEnsureKubectlAccess,experimental,@grafana/grafana-app-platform-squad,true,true,false
featureToggleAdminPage,experimental,@grafana/grafana-operator-experience-squad,false,true,false
awsAsyncQueryCaching,GA,@grafana/aws-datasources,false,false,false
permissionsFilterRemoveSubquery,experimental,@grafana/grafana-backend-group,false,false,false
permissionsFilterRemoveSubquery,experimental,@grafana/search-and-storage,false,false,false
configurableSchedulerTick,experimental,@grafana/alerting-squad,false,true,false
angularDeprecationUI,GA,@grafana/plugins-platform-backend,false,false,true
dashgpt,GA,@grafana/dashboards-squad,false,false,true
@ -57,7 +57,6 @@ reportingRetries,preview,@grafana/sharing-squad,false,true,false
sseGroupByDatasource,experimental,@grafana/observability-metrics,false,false,false
libraryPanelRBAC,experimental,@grafana/dashboards-squad,false,true,false
lokiRunQueriesInParallel,privatePreview,@grafana/observability-logs,false,false,false
wargamesTesting,experimental,@grafana/hosted-grafana-team,false,false,false
externalCorePlugins,GA,@grafana/plugins-platform-backend,false,false,false
externalServiceAccounts,preview,@grafana/identity-access-team,false,false,false
panelMonitoring,GA,@grafana/dataviz-squad,false,false,true

1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
2 disableEnvelopeEncryption GA @grafana/grafana-as-code @grafana/grafana-operator-experience-squad false false false
3 panelTitleSearch preview @grafana/search-and-storage false false false
4 publicDashboardsEmailSharing preview @grafana/sharing-squad false false false
5 publicDashboardsScene GA @grafana/sharing-squad false false true
6 lokiExperimentalStreaming experimental @grafana/observability-logs false false false
7 featureHighlights GA @grafana/grafana-as-code @grafana/grafana-operator-experience-squad false false false
8 storage experimental @grafana/search-and-storage false false false
9 correlations GA @grafana/dataviz-squad false false false
10 canvasPanelNesting experimental @grafana/dataviz-squad false false true
11 logRequestsInstrumentedAsUnknown experimental @grafana/hosted-grafana-team @grafana/grafana-backend-group false false false
12 grpcServer preview @grafana/search-and-storage false false false
13 cloudWatchCrossAccountQuerying GA @grafana/aws-datasources false false false
14 showDashboardValidationWarnings experimental @grafana/dashboards-squad false false false
28 dataplaneFrontendFallback GA @grafana/observability-metrics false false true
29 disableSSEDataplane experimental @grafana/observability-metrics false false false
30 unifiedRequestLog GA @grafana/grafana-backend-group false false false
31 renderAuthJWT preview @grafana/grafana-as-code @grafana/sharing-squad false false false
32 refactorVariablesTimeRange preview @grafana/dashboards-squad false false false
33 faroDatasourceSelector preview @grafana/app-o11y false false true
34 enableDatagridEditing preview @grafana/dataviz-squad false false true
48 grafanaAPIServerEnsureKubectlAccess experimental @grafana/grafana-app-platform-squad true true false
49 featureToggleAdminPage experimental @grafana/grafana-operator-experience-squad false true false
50 awsAsyncQueryCaching GA @grafana/aws-datasources false false false
51 permissionsFilterRemoveSubquery experimental @grafana/grafana-backend-group @grafana/search-and-storage false false false
52 configurableSchedulerTick experimental @grafana/alerting-squad false true false
53 angularDeprecationUI GA @grafana/plugins-platform-backend false false true
54 dashgpt GA @grafana/dashboards-squad false false true
57 sseGroupByDatasource experimental @grafana/observability-metrics false false false
58 libraryPanelRBAC experimental @grafana/dashboards-squad false true false
59 lokiRunQueriesInParallel privatePreview @grafana/observability-logs false false false
wargamesTesting experimental @grafana/hosted-grafana-team false false false
60 externalCorePlugins GA @grafana/plugins-platform-backend false false false
61 externalServiceAccounts preview @grafana/identity-access-team false false false
62 panelMonitoring GA @grafana/dataviz-squad false false true

@ -239,10 +239,6 @@ const (
// Enables running Loki queries in parallel
FlagLokiRunQueriesInParallel = "lokiRunQueriesInParallel"
// FlagWargamesTesting
// Placeholder feature flag for internal testing
FlagWargamesTesting = "wargamesTesting"
// FlagExternalCorePlugins
// Allow core plugins to be loaded as external
FlagExternalCorePlugins = "externalCorePlugins"

@ -912,13 +912,16 @@
{
"metadata": {
"name": "disableEnvelopeEncryption",
"resourceVersion": "1743693517832",
"creationTimestamp": "2022-05-24T08:34:47Z"
"resourceVersion": "1746651535573",
"creationTimestamp": "2022-05-24T08:34:47Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-05-07 20:58:55.573227 +0000 UTC"
}
},
"spec": {
"description": "Disable envelope encryption (emergency only)",
"stage": "GA",
"codeowner": "@grafana/grafana-as-code",
"codeowner": "@grafana/grafana-operator-experience-squad",
"hideFromAdminPage": true,
"expression": "false"
}
@ -1268,13 +1271,16 @@
{
"metadata": {
"name": "featureHighlights",
"resourceVersion": "1743693517832",
"creationTimestamp": "2022-02-03T11:53:23Z"
"resourceVersion": "1746651535573",
"creationTimestamp": "2022-02-03T11:53:23Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-05-07 20:58:55.573227 +0000 UTC"
}
},
"spec": {
"description": "Highlight Grafana Enterprise features",
"stage": "GA",
"codeowner": "@grafana/grafana-as-code",
"codeowner": "@grafana/grafana-operator-experience-squad",
"allowSelfServe": true,
"expression": "false"
}
@ -1528,8 +1534,11 @@
{
"metadata": {
"name": "individualCookiePreferences",
"resourceVersion": "1743693517832",
"creationTimestamp": "2023-02-21T10:19:07Z"
"resourceVersion": "1746800362427",
"creationTimestamp": "2023-02-21T10:19:07Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-05-09 14:19:22.427054 +0000 UTC"
}
},
"spec": {
"description": "Support overriding cookie preferences per user",
@ -1804,13 +1813,16 @@
{
"metadata": {
"name": "logRequestsInstrumentedAsUnknown",
"resourceVersion": "1743693517832",
"creationTimestamp": "2022-06-10T08:56:55Z"
"resourceVersion": "1746651640866",
"creationTimestamp": "2022-06-10T08:56:55Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-05-07 21:00:40.866696 +0000 UTC"
}
},
"spec": {
"description": "Logs the path for requests that are instrumented as unknown",
"stage": "experimental",
"codeowner": "@grafana/hosted-grafana-team"
"codeowner": "@grafana/grafana-backend-group"
}
},
{
@ -2367,13 +2379,16 @@
{
"metadata": {
"name": "permissionsFilterRemoveSubquery",
"resourceVersion": "1743693517832",
"creationTimestamp": "2023-08-02T07:39:25Z"
"resourceVersion": "1746651535573",
"creationTimestamp": "2023-08-02T07:39:25Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-05-07 20:58:55.573227 +0000 UTC"
}
},
"spec": {
"description": "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder",
"stage": "experimental",
"codeowner": "@grafana/grafana-backend-group"
"codeowner": "@grafana/search-and-storage"
}
},
{
@ -2790,13 +2805,16 @@
{
"metadata": {
"name": "renderAuthJWT",
"resourceVersion": "1743693517832",
"creationTimestamp": "2023-04-03T16:53:38Z"
"resourceVersion": "1746651535573",
"creationTimestamp": "2023-04-03T16:53:38Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-05-07 20:58:55.573227 +0000 UTC"
}
},
"spec": {
"description": "Uses JWT-based auth for rendering instead of relying on remote cache",
"stage": "preview",
"codeowner": "@grafana/grafana-as-code",
"codeowner": "@grafana/sharing-squad",
"hideFromAdminPage": true
}
},
@ -3147,8 +3165,11 @@
{
"metadata": {
"name": "unifiedRequestLog",
"resourceVersion": "1743693517832",
"creationTimestamp": "2023-03-31T13:38:09Z"
"resourceVersion": "1746651640866",
"creationTimestamp": "2023-03-31T13:38:09Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-05-07 21:00:40.866696 +0000 UTC"
}
},
"spec": {
"description": "Writes error logs to the request logger",
@ -3288,7 +3309,8 @@
"metadata": {
"name": "wargamesTesting",
"resourceVersion": "1743693517832",
"creationTimestamp": "2023-09-13T18:32:01Z"
"creationTimestamp": "2023-09-13T18:32:01Z",
"deletionTimestamp": "2025-05-07T20:58:55Z"
},
"spec": {
"description": "Placeholder feature flag for internal testing",

Loading…
Cancel
Save