2022-04-01 01:32:00 -05:00
// To change feature flags, edit:
// pkg/services/featuremgmt/registry.go
// Then run tests in:
// pkg/services/featuremgmt/toggles_gen_test.go
2022-06-10 12:02:52 +01:00
// twice to generate and validate the feature flag files
2024-03-21 12:04:49 +01:00
//
// Alternatively, use `make gen-feature-toggles`
2022-04-01 01:32:00 -05:00
2022-01-26 09:44:20 -08:00
package featuremgmt
2023-12-03 20:45:51 -08:00
import (
2024-02-09 15:34:12 -08:00
"embed"
"encoding/json"
featuretoggle "github.com/grafana/grafana/pkg/apis/featuretoggle/v0alpha1"
2023-12-03 20:45:51 -08:00
)
2022-01-26 09:44:20 -08:00
var (
// Register each toggle here
standardFeatureFlags = [ ] FeatureFlag {
{
2023-11-14 17:04:54 +00:00
Name : "disableEnvelopeEncryption" ,
Description : "Disable envelope encryption (emergency only)" ,
Stage : FeatureStageGeneralAvailability ,
Owner : grafanaAsCodeSquad ,
HideFromAdminPage : true ,
2023-12-18 13:55:21 -05:00
AllowSelfServe : false ,
2024-06-07 16:21:54 +02:00
Expression : "false" ,
2022-01-26 09:44:20 -08:00
} ,
{
Name : "live-service-web-worker" ,
Description : "This will use a webworker thread to processes events rather than the main thread" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2022-01-26 09:44:20 -08:00
FrontendOnly : true ,
2023-03-07 20:04:20 +04:00
Owner : grafanaAppPlatformSquad ,
2022-01-26 09:44:20 -08:00
} ,
{
Name : "queryOverLive" ,
2022-11-30 16:50:20 -05:00
Description : "Use Grafana Live WebSocket to execute backend queries" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2022-01-26 09:44:20 -08:00
FrontendOnly : true ,
2023-03-07 20:04:20 +04:00
Owner : grafanaAppPlatformSquad ,
2022-01-26 09:44:20 -08:00
} ,
2022-02-15 10:26:03 -08:00
{
2023-11-14 17:04:54 +00:00
Name : "panelTitleSearch" ,
Description : "Search for dashboards using panel title" ,
Stage : FeatureStagePublicPreview ,
Owner : grafanaAppPlatformSquad ,
HideFromAdminPage : true ,
2022-02-15 10:26:03 -08:00
} ,
2022-04-07 10:30:19 -08:00
{
2023-11-03 15:59:07 +00:00
Name : "publicDashboards" ,
2023-12-19 11:43:54 +01:00
Description : "[Deprecated] Public dashboards are now enabled by default; to disable them, use the configuration setting. This feature toggle will be removed in the next major version." ,
2023-11-03 15:59:07 +00:00
Stage : FeatureStageGeneralAvailability ,
Owner : grafanaSharingSquad ,
Expression : "true" , // enabled by default
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2022-04-07 10:30:19 -08:00
} ,
2023-01-03 13:45:15 -06:00
{
2023-11-14 17:04:54 +00:00
Name : "publicDashboardsEmailSharing" ,
Description : "Enables public dashboard sharing to be restricted to only allowed emails" ,
Stage : FeatureStagePublicPreview ,
Owner : grafanaSharingSquad ,
HideFromDocs : true ,
HideFromAdminPage : true ,
2023-01-03 13:45:15 -06:00
} ,
2024-03-22 11:48:21 -03:00
{
Name : "publicDashboardsScene" ,
Description : "Enables public dashboard rendering using scenes" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaSharingSquad ,
} ,
2022-03-01 14:46:52 -08:00
{
2023-06-19 12:03:51 +02:00
Name : "lokiExperimentalStreaming" ,
Description : "Support new streaming approach for loki (prototype, needs special loki build)" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-03-08 13:42:47 +01:00
Owner : grafanaObservabilityLogsSquad ,
2022-03-01 14:46:52 -08:00
} ,
2022-02-03 13:53:23 +02:00
{
2023-11-03 15:59:07 +00:00
Name : "featureHighlights" ,
Description : "Highlight Grafana Enterprise features" ,
Stage : FeatureStageGeneralAvailability ,
Owner : grafanaAsCodeSquad ,
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2024-06-07 16:21:54 +02:00
Expression : "false" ,
2022-02-03 13:53:23 +02:00
} ,
2022-03-17 10:19:23 -07:00
{
Name : "storage" ,
Description : "Configurable storage for dashboards, datasources, and resources" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-03-07 20:04:20 +04:00
Owner : grafanaAppPlatformSquad ,
2022-03-17 10:19:23 -07:00
} ,
2022-09-16 15:14:27 +02:00
{
2024-01-22 09:27:11 +01:00
Name : "correlations" ,
Description : "Correlations page" ,
Stage : FeatureStageGeneralAvailability ,
Owner : grafanaExploreSquad ,
2024-05-27 12:04:37 +02:00
Expression : "true" , // enabled by default
2024-01-22 09:27:11 +01:00
AllowSelfServe : true ,
2022-09-16 15:14:27 +02:00
} ,
2022-06-10 17:12:56 -07:00
{
2023-03-22 21:02:36 -07:00
Name : "autoMigrateOldPanels" ,
Description : "Migrate old angular panels to supported versions (graph, table-old, worldmap, etc)" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStagePublicPreview ,
2022-06-10 17:12:56 -07:00
FrontendOnly : true ,
2023-03-07 20:04:20 +04:00
Owner : grafanaDatavizSquad ,
2022-06-10 17:12:56 -07:00
} ,
2024-02-08 15:00:48 -07:00
{
Name : "autoMigrateGraphPanel" ,
Description : "Migrate old graph panel to supported time series panel - broken out from autoMigrateOldPanels to enable granular tracking" ,
Stage : FeatureStagePublicPreview ,
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
} ,
2024-02-14 09:06:25 -07:00
{
Name : "autoMigrateTablePanel" ,
Description : "Migrate old table panel to supported table panel - broken out from autoMigrateOldPanels to enable granular tracking" ,
Stage : FeatureStagePublicPreview ,
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
} ,
{
Name : "autoMigratePiechartPanel" ,
Description : "Migrate old piechart panel to supported piechart panel - broken out from autoMigrateOldPanels to enable granular tracking" ,
Stage : FeatureStagePublicPreview ,
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
} ,
{
Name : "autoMigrateWorldmapPanel" ,
Description : "Migrate old worldmap panel to supported geomap panel - broken out from autoMigrateOldPanels to enable granular tracking" ,
Stage : FeatureStagePublicPreview ,
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
} ,
{
Name : "autoMigrateStatPanel" ,
Description : "Migrate old stat panel to supported stat panel - broken out from autoMigrateOldPanels to enable granular tracking" ,
Stage : FeatureStagePublicPreview ,
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
} ,
2024-03-22 10:44:37 -05:00
{
Name : "autoMigrateXYChartPanel" ,
Description : "Migrate old XYChart panel to new XYChart2 model" ,
Stage : FeatureStagePublicPreview ,
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
} ,
2023-03-23 08:43:45 -07:00
{
2023-11-14 17:04:54 +00:00
Name : "disableAngular" ,
Description : "Dynamic flag to disable angular at runtime. The preferred method is to set `angular_support_enabled` to `false` in the [security] settings, which allows you to change the state at runtime." ,
Stage : FeatureStagePublicPreview ,
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
HideFromAdminPage : true ,
2022-05-24 16:17:11 -04:00
} ,
2022-05-31 14:03:34 -05:00
{
2023-11-14 17:04:54 +00:00
Name : "canvasPanelNesting" ,
Description : "Allow elements nesting" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
HideFromAdminPage : true ,
2022-05-31 14:03:34 -05:00
} ,
2022-07-12 17:27:37 -03:00
{
Name : "disableSecretsCompatibility" ,
Description : "Disable duplicated secret storage in legacy tables" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2022-07-12 17:27:37 -03:00
RequiresRestart : true ,
2023-03-08 21:25:12 +04:00
Owner : hostedGrafanaTeam ,
2022-07-12 17:27:37 -03:00
} ,
2022-06-10 10:56:55 +02:00
{
Name : "logRequestsInstrumentedAsUnknown" ,
Description : "Logs the path for requests that are instrumented as unknown" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-03-08 21:25:12 +04:00
Owner : hostedGrafanaTeam ,
2022-06-10 12:13:31 +02:00
} ,
2022-06-20 16:25:43 +02:00
{
2023-07-26 11:07:18 +00:00
// Some plugins rely on topnav feature flag being enabled, so we cannot remove this until we
// can afford the breaking change, or we've detemined no one else is relying on it
2022-06-20 16:25:43 +02:00
Name : "topnav" ,
2023-07-26 11:07:18 +00:00
Description : "Enables topnav support in external plugins. The new Grafana navigation cannot be disabled." ,
Stage : FeatureStageDeprecated ,
2023-03-30 10:42:43 +01:00
Expression : "true" , // enabled by default
2023-06-05 13:24:17 +02:00
Owner : grafanaFrontendPlatformSquad ,
2022-06-20 16:25:43 +02:00
} ,
2022-08-24 17:57:59 +01:00
{
2023-11-14 17:04:54 +00:00
Name : "grpcServer" ,
Description : "Run the GRPC server" ,
Stage : FeatureStagePublicPreview ,
Owner : grafanaAppPlatformSquad ,
HideFromAdminPage : true ,
2022-10-06 12:48:53 -07:00
} ,
{
Storage: Unified Storage based on Entity API (#71977)
* first round of entityapi updates
- quote column names and clean up insert/update queries
- replace grn with guid
- streamline table structure
fixes
streamline entity history
move EntitySummary into proto
remove EntitySummary
add guid to json
fix tests
change DB_Uuid to DB_NVarchar
fix folder test
convert interface to any
more cleanup
start entity store under grafana-apiserver dskit target
CRUD working, kind of
rough cut of wiring entity api to kube-apiserver
fake grafana user in context
add key to entity
list working
revert unnecessary changes
move entity storage files to their own package, clean up
use accessor to read/write grafana annotations
implement separate Create and Update functions
* go mod tidy
* switch from Kind to resource
* basic grpc storage server
* basic support for grpc entity store
* don't connect to database unless it's needed, pass user identity over grpc
* support getting user from k8s context, fix some mysql issues
* assign owner to snowflake dependency
* switch from ulid to uuid for guids
* cleanup, rename Search to List
* remove entityListResult
* EntityAPI: remove extra user abstraction (#79033)
* remove extra user abstraction
* add test stub (but
* move grpc context setup into client wrapper, fix lint issue
* remove unused constants
* remove custom json stuff
* basic list filtering, add todo
* change target to storage-server, allow entityStore flag in prod mode
* fix issue with Update
* EntityAPI: make test work, need to resolve expected differences (#79123)
* make test work, need to resolve expected differences
* remove the fields not supported by legacy
* sanitize out the bits legacy does not support
* sanitize out the bits legacy does not support
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* update feature toggle generated files
* remove unused http headers
* update feature flag strategy
* devmode
* update readme
* spelling
* readme
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-06 21:21:21 +01:00
Name : "unifiedStorage" ,
Description : "SQL-based k8s storage" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2024-05-03 10:28:15 +02:00
RequiresDevMode : false ,
Storage: Unified Storage based on Entity API (#71977)
* first round of entityapi updates
- quote column names and clean up insert/update queries
- replace grn with guid
- streamline table structure
fixes
streamline entity history
move EntitySummary into proto
remove EntitySummary
add guid to json
fix tests
change DB_Uuid to DB_NVarchar
fix folder test
convert interface to any
more cleanup
start entity store under grafana-apiserver dskit target
CRUD working, kind of
rough cut of wiring entity api to kube-apiserver
fake grafana user in context
add key to entity
list working
revert unnecessary changes
move entity storage files to their own package, clean up
use accessor to read/write grafana annotations
implement separate Create and Update functions
* go mod tidy
* switch from Kind to resource
* basic grpc storage server
* basic support for grpc entity store
* don't connect to database unless it's needed, pass user identity over grpc
* support getting user from k8s context, fix some mysql issues
* assign owner to snowflake dependency
* switch from ulid to uuid for guids
* cleanup, rename Search to List
* remove entityListResult
* EntityAPI: remove extra user abstraction (#79033)
* remove extra user abstraction
* add test stub (but
* move grpc context setup into client wrapper, fix lint issue
* remove unused constants
* remove custom json stuff
* basic list filtering, add todo
* change target to storage-server, allow entityStore flag in prod mode
* fix issue with Update
* EntityAPI: make test work, need to resolve expected differences (#79123)
* make test work, need to resolve expected differences
* remove the fields not supported by legacy
* sanitize out the bits legacy does not support
* sanitize out the bits legacy does not support
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* update feature toggle generated files
* remove unused http headers
* update feature flag strategy
* devmode
* update readme
* spelling
* readme
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-06 21:21:21 +01:00
RequiresRestart : true , // new SQL tables created
2023-03-07 20:04:20 +04:00
Owner : grafanaAppPlatformSquad ,
2022-10-06 12:48:53 -07:00
} ,
2022-11-28 12:39:12 +01:00
{
2023-11-03 15:59:07 +00:00
Name : "cloudWatchCrossAccountQuerying" ,
Description : "Enables cross-account querying in CloudWatch datasources" ,
Stage : FeatureStageGeneralAvailability ,
Expression : "true" , // enabled by default
Owner : awsDatasourcesSquad ,
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2022-10-07 11:39:14 +01:00
} ,
2022-10-14 14:51:05 +01:00
{
Name : "showDashboardValidationWarnings" ,
2022-11-30 16:50:20 -05:00
Description : "Show warnings when dashboards do not validate against the schema" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-03-09 13:09:19 +02:00
Owner : grafanaDashboardsSquad ,
2022-10-14 14:51:05 +01:00
} ,
2022-10-12 19:43:35 +08:00
{
Name : "mysqlAnsiQuotes" ,
2022-11-30 16:50:20 -05:00
Description : "Use double quotes to escape keyword in a MySQL query" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2024-04-19 19:12:59 +02:00
Owner : grafanaSearchAndStorageSquad ,
2022-10-12 19:43:35 +08:00
} ,
2022-10-19 18:10:09 +02:00
{
2023-11-14 17:04:54 +00:00
Name : "accessControlOnCall" ,
Description : "Access control primitives for OnCall" ,
Stage : FeatureStagePublicPreview ,
Owner : identityAccessTeam ,
HideFromAdminPage : true ,
2022-10-19 18:10:09 +02:00
} ,
2022-10-26 10:15:14 -04:00
{
2023-04-17 13:54:32 +01:00
Name : "nestedFolders" ,
Description : "Enable folder nesting" ,
2024-03-22 14:13:43 +01:00
Stage : FeatureStageGeneralAvailability ,
2024-04-19 19:12:59 +02:00
Owner : grafanaSearchAndStorageSquad ,
2024-03-22 14:13:43 +01:00
Expression : "true" , // enabled by default
2022-10-26 10:15:14 -04:00
} ,
2022-12-14 09:44:14 -05:00
{
Name : "alertingBacktesting" ,
Description : "Rule backtesting API for alerting" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-03-08 11:03:06 -05:00
Owner : grafanaAlertingSquad ,
2022-12-14 09:44:14 -05:00
} ,
2023-01-24 10:43:44 +01:00
{
Name : "editPanelCSVDragAndDrop" ,
Description : "Enables drag and drop for CSV and Excel files" ,
FrontendOnly : true ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2024-02-10 07:24:08 +07:00
Owner : grafanaDatavizSquad ,
2023-01-24 10:43:44 +01:00
} ,
2023-01-13 18:29:29 -05:00
{
2023-11-14 17:04:54 +00:00
Name : "alertingNoNormalState" ,
Description : "Stop maintaining state of alerts that are not firing" ,
Stage : FeatureStagePublicPreview ,
RequiresRestart : false ,
Owner : grafanaAlertingSquad ,
HideFromAdminPage : true ,
2023-01-13 18:29:29 -05:00
} ,
2023-01-27 15:12:01 +01:00
{
2023-11-03 15:59:07 +00:00
Name : "logsContextDatasourceUi" ,
Description : "Allow datasource to provide custom UI for context view" ,
Stage : FeatureStageGeneralAvailability ,
FrontendOnly : true ,
Owner : grafanaObservabilityLogsSquad ,
Expression : "true" , // turned on by default
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2023-01-27 15:12:01 +01:00
} ,
2023-02-09 18:27:02 +01:00
{
2023-11-03 15:59:07 +00:00
Name : "lokiQuerySplitting" ,
Description : "Split large interval queries into subqueries with smaller time intervals" ,
Stage : FeatureStageGeneralAvailability ,
FrontendOnly : true ,
Owner : grafanaObservabilityLogsSquad ,
Expression : "true" , // turned on by default
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2023-02-09 18:27:02 +01:00
} ,
2023-03-20 16:51:36 +01:00
{
Name : "lokiQuerySplittingConfig" ,
Description : "Give users the option to configure split durations for Loki queries" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-03-20 16:51:36 +01:00
FrontendOnly : true ,
Owner : grafanaObservabilityLogsSquad ,
} ,
2023-02-21 11:19:07 +01:00
{
Name : "individualCookiePreferences" ,
Description : "Support overriding cookie preferences per user" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2024-04-19 19:12:59 +02:00
Owner : grafanaBackendGroup ,
2023-02-21 11:19:07 +01:00
} ,
2023-03-07 13:41:05 -05:00
{
2023-11-03 15:59:07 +00:00
Name : "prometheusMetricEncyclopedia" ,
Description : "Adds the metrics explorer component to the Prometheus query builder as an option in metric select" ,
Expression : "true" ,
Stage : FeatureStageGeneralAvailability ,
FrontendOnly : true ,
Owner : grafanaObservabilityMetricsSquad ,
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2023-03-07 13:41:05 -05:00
} ,
2023-03-15 18:12:16 +01:00
{
2023-11-03 15:59:07 +00:00
Name : "influxdbBackendMigration" ,
Description : "Query InfluxDB InfluxQL without the proxy" ,
Stage : FeatureStageGeneralAvailability ,
FrontendOnly : true ,
Owner : grafanaObservabilityMetricsSquad ,
Expression : "true" , // enabled by default
2023-12-18 13:55:21 -05:00
AllowSelfServe : false ,
2023-03-15 18:12:16 +01:00
} ,
2023-11-29 18:29:35 +01:00
{
Name : "influxqlStreamingParser" ,
Description : "Enable streaming JSON parser for InfluxDB datasource InfluxQL query language" ,
Stage : FeatureStageExperimental ,
Owner : grafanaObservabilityMetricsSquad ,
} ,
2024-02-01 11:58:24 +01:00
{
Name : "influxdbRunQueriesInParallel" ,
Description : "Enables running InfluxDB Influxql queries in parallel" ,
Stage : FeatureStagePrivatePreview ,
FrontendOnly : false ,
Owner : grafanaObservabilityMetricsSquad ,
} ,
2023-03-29 11:26:32 -04:00
{
2023-11-03 15:59:07 +00:00
Name : "prometheusDataplane" ,
Description : "Changes responses to from Prometheus to be compliant with the dataplane specification. In particular, when this feature toggle is active, the numeric `Field.Name` is set from 'Value' to the value of the `__name__` label." ,
Expression : "true" ,
Stage : FeatureStageGeneralAvailability ,
Owner : grafanaObservabilityMetricsSquad ,
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2023-03-29 11:26:32 -04:00
} ,
2023-04-13 15:07:08 +02:00
{
2023-11-03 15:59:07 +00:00
Name : "lokiMetricDataplane" ,
Description : "Changes metric responses from Loki to be compliant with the dataplane specification." ,
Stage : FeatureStageGeneralAvailability ,
Expression : "true" ,
Owner : grafanaObservabilityLogsSquad ,
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2023-04-13 15:07:08 +02:00
} ,
2023-07-13 09:58:00 +02:00
{
Name : "lokiLogsDataplane" ,
Description : "Changes logs responses from Loki to be compliant with the dataplane specification." ,
Stage : FeatureStageExperimental ,
Owner : grafanaObservabilityLogsSquad ,
} ,
2023-04-24 13:29:54 -04:00
{
2023-11-03 15:59:07 +00:00
Name : "dataplaneFrontendFallback" ,
Description : "Support dataplane contract field name change for transformations and field name matchers where the name is different" ,
Stage : FeatureStageGeneralAvailability ,
FrontendOnly : true ,
Expression : "true" ,
Owner : grafanaObservabilityMetricsSquad ,
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2023-04-24 13:29:54 -04:00
} ,
{
Name : "disableSSEDataplane" ,
Description : "Disables dataplane specific processing in server side expressions." ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-04-24 13:29:54 -04:00
Owner : grafanaObservabilityMetricsSquad ,
} ,
2023-03-30 13:53:21 -05:00
{
Name : "alertStateHistoryLokiSecondary" ,
Description : "Enable Grafana to write alert state history to an external Loki instance in addition to Grafana annotations." ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-03-30 13:53:21 -05:00
Owner : grafanaAlertingSquad ,
} ,
{
Name : "alertStateHistoryLokiPrimary" ,
Description : "Enable a remote Loki instance as the primary source for state history reads." ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-03-30 13:53:21 -05:00
Owner : grafanaAlertingSquad ,
} ,
{
Name : "alertStateHistoryLokiOnly" ,
Description : "Disable Grafana alerts from emitting annotations when a remote Loki instance is available." ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-03-30 13:53:21 -05:00
Owner : grafanaAlertingSquad ,
} ,
2023-03-31 15:38:09 +02:00
{
Name : "unifiedRequestLog" ,
Description : "Writes error logs to the request logger" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2024-04-19 19:12:59 +02:00
Owner : grafanaBackendGroup ,
2023-03-31 15:38:09 +02:00
} ,
2023-04-03 18:53:38 +02:00
{
2023-11-14 17:04:54 +00:00
Name : "renderAuthJWT" ,
Description : "Uses JWT-based auth for rendering instead of relying on remote cache" ,
Stage : FeatureStagePublicPreview ,
Owner : grafanaAsCodeSquad ,
HideFromAdminPage : true ,
2023-04-03 18:53:38 +02:00
} ,
2023-06-06 16:12:09 +03:00
{
2023-11-14 17:04:54 +00:00
Name : "refactorVariablesTimeRange" ,
Description : "Refactor time range variables flow to reduce number of API calls made when query variables are chained" ,
Stage : FeatureStagePublicPreview ,
Owner : grafanaDashboardsSquad ,
HideFromAdminPage : true , // Non-feature, used to test out a bug fix that impacts the performance of template variables.
2023-06-06 16:12:09 +03:00
} ,
2023-05-04 17:35:10 -07:00
{
Name : "faroDatasourceSelector" ,
2023-05-23 07:42:22 -07:00
Description : "Enable the data source selector within the Frontend Apps section of the Frontend Observability" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStagePublicPreview ,
2023-05-04 17:35:10 -07:00
FrontendOnly : true ,
Owner : appO11ySquad ,
} ,
2023-04-24 17:46:31 +03:00
{
Name : "enableDatagridEditing" ,
Description : "Enables the edit functionality in the datagrid panel" ,
FrontendOnly : true ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStagePublicPreview ,
2024-02-10 07:24:08 +07:00
Owner : grafanaDatavizSquad ,
2023-04-24 17:46:31 +03:00
} ,
2023-05-10 15:37:04 +02:00
{
Name : "extraThemes" ,
Description : "Enables extra themes" ,
FrontendOnly : true ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-06-05 13:24:17 +02:00
Owner : grafanaFrontendPlatformSquad ,
2023-05-10 15:37:04 +02:00
} ,
2023-06-02 12:52:36 +02:00
{
Name : "lokiPredefinedOperations" ,
Description : "Adds predefined query operations to Loki query editor" ,
FrontendOnly : true ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-06-02 12:52:36 +02:00
Owner : grafanaObservabilityLogsSquad ,
} ,
2023-06-05 10:51:36 +02:00
{
Name : "pluginsFrontendSandbox" ,
Description : "Enables the plugins frontend sandbox" ,
2023-06-08 09:16:55 -07:00
Stage : FeatureStageExperimental ,
2023-06-05 10:51:36 +02:00
FrontendOnly : true ,
Owner : grafanaPluginsPlatformSquad ,
} ,
2023-07-05 13:48:25 +02:00
{
Name : "frontendSandboxMonitorOnly" ,
Description : "Enables monitor only in the plugin frontend sandbox (if enabled)" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaPluginsPlatformSquad ,
} ,
2023-06-06 10:28:52 -06:00
{
2023-11-14 17:04:54 +00:00
Name : "sqlDatasourceDatabaseSelection" ,
Description : "Enables previous SQL data source dataset dropdown behavior" ,
FrontendOnly : true ,
Stage : FeatureStagePublicPreview ,
2024-02-10 07:24:08 +07:00
Owner : grafanaDatavizSquad ,
2023-11-14 17:04:54 +00:00
HideFromAdminPage : true ,
2023-06-06 10:28:52 -06:00
} ,
2023-06-14 08:34:22 -04:00
{
2023-11-03 15:59:07 +00:00
Name : "recordedQueriesMulti" ,
Description : "Enables writing multiple items from a single query within Recorded Queries" ,
Stage : FeatureStageGeneralAvailability ,
Expression : "true" ,
Owner : grafanaObservabilityMetricsSquad ,
2023-12-18 13:55:21 -05:00
AllowSelfServe : false ,
2023-06-14 08:34:22 -04:00
} ,
2023-06-27 12:22:13 +02:00
{
Name : "vizAndWidgetSplit" ,
2023-10-03 16:43:27 +02:00
Description : "Split panels between visualizations and widgets" ,
2023-06-27 12:22:13 +02:00
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaDashboardsSquad ,
} ,
2023-07-12 15:52:42 +02:00
{
Name : "logsExploreTableVisualisation" ,
Description : "A table visualisation for logs in Explore" ,
2024-02-12 10:12:05 -06:00
Stage : FeatureStageGeneralAvailability ,
Expression : "true" , // enabled by default,
2023-07-12 15:52:42 +02:00
FrontendOnly : true ,
Owner : grafanaObservabilityLogsSquad ,
} ,
2023-07-06 17:06:11 +02:00
{
Name : "awsDatasourcesTempCredentials" ,
Description : "Support temporary security credentials in AWS plugins for Grafana Cloud customers" ,
Stage : FeatureStageExperimental ,
Owner : awsDatasourcesSquad ,
} ,
2023-07-12 18:35:49 +02:00
{
2023-11-03 15:59:07 +00:00
Name : "transformationsRedesign" ,
Description : "Enables the transformations redesign" ,
Stage : FeatureStageGeneralAvailability ,
FrontendOnly : true ,
Expression : "true" , // enabled by default
Owner : grafanaObservabilityMetricsSquad ,
2023-12-18 13:55:21 -05:00
AllowSelfServe : true ,
2023-07-12 18:35:49 +02:00
} ,
2023-07-13 13:37:50 -04:00
{
Name : "mlExpressions" ,
Description : "Enable support for Machine Learning in server-side expressions" ,
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : grafanaAlertingSquad ,
} ,
2023-07-14 15:10:46 +01:00
{
2023-07-26 14:33:16 +01:00
Name : "traceQLStreaming" ,
Description : "Enables response streaming of TraceQL queries of the Tempo data source" ,
2024-03-12 14:10:13 +00:00
Stage : FeatureStageGeneralAvailability ,
2023-07-14 15:10:46 +01:00
FrontendOnly : true ,
Owner : grafanaObservabilityTracesAndProfilingSquad ,
2024-06-07 16:21:54 +02:00
Expression : "false" ,
2023-07-14 15:10:46 +01:00
} ,
2023-08-28 15:02:12 +01:00
{
Name : "metricsSummary" ,
Description : "Enables metrics summary queries in the Tempo data source" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaObservabilityTracesAndProfilingSquad ,
} ,
2023-10-06 11:55:22 -07:00
{
2023-12-20 10:28:56 -08:00
Name : "grafanaAPIServerWithExperimentalAPIs" ,
Description : "Register experimental APIs with the k8s API server" ,
Stage : FeatureStageExperimental ,
RequiresRestart : true ,
RequiresDevMode : true ,
Owner : grafanaAppPlatformSquad ,
2023-10-06 11:55:22 -07:00
} ,
Storage: Unified Storage based on Entity API (#71977)
* first round of entityapi updates
- quote column names and clean up insert/update queries
- replace grn with guid
- streamline table structure
fixes
streamline entity history
move EntitySummary into proto
remove EntitySummary
add guid to json
fix tests
change DB_Uuid to DB_NVarchar
fix folder test
convert interface to any
more cleanup
start entity store under grafana-apiserver dskit target
CRUD working, kind of
rough cut of wiring entity api to kube-apiserver
fake grafana user in context
add key to entity
list working
revert unnecessary changes
move entity storage files to their own package, clean up
use accessor to read/write grafana annotations
implement separate Create and Update functions
* go mod tidy
* switch from Kind to resource
* basic grpc storage server
* basic support for grpc entity store
* don't connect to database unless it's needed, pass user identity over grpc
* support getting user from k8s context, fix some mysql issues
* assign owner to snowflake dependency
* switch from ulid to uuid for guids
* cleanup, rename Search to List
* remove entityListResult
* EntityAPI: remove extra user abstraction (#79033)
* remove extra user abstraction
* add test stub (but
* move grpc context setup into client wrapper, fix lint issue
* remove unused constants
* remove custom json stuff
* basic list filtering, add todo
* change target to storage-server, allow entityStore flag in prod mode
* fix issue with Update
* EntityAPI: make test work, need to resolve expected differences (#79123)
* make test work, need to resolve expected differences
* remove the fields not supported by legacy
* sanitize out the bits legacy does not support
* sanitize out the bits legacy does not support
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* update feature toggle generated files
* remove unused http headers
* update feature flag strategy
* devmode
* update readme
* spelling
* readme
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-06 21:21:21 +01:00
{
Name : "grafanaAPIServerEnsureKubectlAccess" ,
Description : "Start an additional https handler and write kubectl options" ,
Stage : FeatureStageExperimental ,
RequiresDevMode : true ,
RequiresRestart : true ,
Owner : grafanaAppPlatformSquad ,
} ,
2023-07-18 16:43:32 -04:00
{
Name : "featureToggleAdminPage" ,
2024-05-10 14:34:53 -04:00
Description : "Enable admin page for managing feature toggles from the Grafana front-end. Grafana Cloud only." ,
2023-07-18 16:43:32 -04:00
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : grafanaOperatorExperienceSquad ,
RequiresRestart : true ,
2024-05-10 14:34:53 -04:00
HideFromDocs : true ,
2023-07-18 16:43:32 -04:00
} ,
2023-07-21 11:34:07 -04:00
{
Name : "awsAsyncQueryCaching" ,
2024-01-17 16:53:25 -05:00
Description : "Enable caching for async queries for Redshift and Athena. Requires that the datasource has caching and async query support enabled" ,
2024-01-05 14:56:30 -05:00
Stage : FeatureStageGeneralAvailability ,
Expression : "true" , // enabled by default
2023-07-21 11:34:07 -04:00
Owner : awsDatasourcesSquad ,
} ,
2023-08-02 10:39:25 +03:00
{
Name : "permissionsFilterRemoveSubquery" ,
Description : "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder" ,
Stage : FeatureStageExperimental ,
2024-04-19 19:12:59 +02:00
Owner : grafanaBackendGroup ,
2023-08-02 10:39:25 +03:00
} ,
2023-07-26 12:09:53 -04:00
{
2023-11-03 15:59:07 +00:00
Name : "prometheusConfigOverhaulAuth" ,
Description : "Update the Prometheus configuration page with the new auth component" ,
Owner : grafanaObservabilityMetricsSquad ,
Stage : FeatureStageGeneralAvailability ,
Expression : "true" , // on by default
2023-12-18 13:55:21 -05:00
AllowSelfServe : false ,
2023-07-26 12:09:53 -04:00
} ,
2023-07-26 12:44:12 -04:00
{
Name : "configurableSchedulerTick" ,
Description : "Enable changing the scheduler base interval via configuration option unified_alerting.scheduler_tick_interval" ,
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : grafanaAlertingSquad ,
RequiresRestart : true ,
HideFromDocs : true ,
} ,
2023-08-15 10:27:15 -04:00
{
Name : "alertingNoDataErrorExecution" ,
Description : "Changes how Alerting state manager handles execution of NoData/Error" ,
2024-01-10 21:34:18 -08:00
Stage : FeatureStageGeneralAvailability ,
2023-08-15 10:27:15 -04:00
FrontendOnly : false ,
Owner : grafanaAlertingSquad ,
RequiresRestart : true ,
2024-01-10 21:34:18 -08:00
Expression : "true" , // enabled by default
2023-08-15 10:27:15 -04:00
} ,
2023-08-29 16:05:47 +02:00
{
Name : "angularDeprecationUI" ,
2024-02-16 13:46:14 +01:00
Description : "Display Angular warnings in dashboards and panels" ,
Stage : FeatureStageGeneralAvailability ,
2023-08-29 16:05:47 +02:00
FrontendOnly : true ,
Owner : grafanaPluginsPlatformSquad ,
2024-02-16 13:46:14 +01:00
Expression : "true" , // Enabled by default
2023-08-29 16:05:47 +02:00
} ,
2023-08-30 22:22:05 +02:00
{
2023-11-17 17:51:51 +01:00
Name : "dashgpt" ,
Description : "Enable AI powered features in dashboards" ,
2024-03-21 17:58:27 +01:00
Stage : FeatureStageGeneralAvailability ,
2023-11-17 17:51:51 +01:00
FrontendOnly : true ,
Owner : grafanaDashboardsSquad ,
2024-03-21 17:58:27 +01:00
Expression : "true" , // enabled by default
2023-08-30 22:22:05 +02:00
} ,
2024-03-05 13:01:31 +01:00
{
Name : "aiGeneratedDashboardChanges" ,
Description : "Enable AI powered features for dashboards to auto-summary changes when saving" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaDashboardsSquad ,
} ,
2023-08-31 09:47:47 +02:00
{
Name : "reportingRetries" ,
Description : "Enables rendering retries for the reporting feature" ,
Stage : FeatureStagePublicPreview ,
FrontendOnly : false ,
Owner : grafanaSharingSquad ,
RequiresRestart : true ,
} ,
2023-09-07 16:02:07 -04:00
{
Name : "sseGroupByDatasource" ,
2024-01-18 13:07:57 -05:00
Description : "Send query to the same datasource in a single request when using server side expressions. The `cloudWatchBatchQueries` feature toggle should be enabled if this used with CloudWatch." ,
2023-09-07 16:02:07 -04:00
Stage : FeatureStageExperimental ,
Owner : grafanaObservabilityMetricsSquad ,
} ,
2023-10-12 00:30:50 +01:00
{
Name : "libraryPanelRBAC" ,
Description : "Enables RBAC support for library panels" ,
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : grafanaDashboardsSquad ,
RequiresRestart : true ,
} ,
2023-09-19 03:34:01 -06:00
{
Name : "lokiRunQueriesInParallel" ,
Description : "Enables running Loki queries in parallel" ,
Stage : FeatureStagePrivatePreview ,
FrontendOnly : false ,
Owner : grafanaObservabilityLogsSquad ,
} ,
2023-09-13 20:32:01 +02:00
{
Name : "wargamesTesting" ,
Description : "Placeholder feature flag for internal testing" ,
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : hostedGrafanaTeam ,
} ,
2023-09-14 09:58:04 -03:00
{
2023-11-14 17:04:54 +00:00
Name : "alertingInsights" ,
Description : "Show the new alerting insights landing page" ,
FrontendOnly : true ,
Stage : FeatureStageGeneralAvailability ,
Owner : grafanaAlertingSquad ,
Expression : "true" , // enabled by default
2023-12-18 13:55:21 -05:00
AllowSelfServe : false ,
2023-11-14 17:04:54 +00:00
HideFromAdminPage : true , // This is moving away from being a feature toggle.
2023-09-14 09:58:04 -03:00
} ,
2023-09-22 10:50:13 +02:00
{
Name : "externalCorePlugins" ,
Description : "Allow core plugins to be loaded as external" ,
Stage : FeatureStageExperimental ,
Owner : grafanaPluginsPlatformSquad ,
} ,
2023-09-21 13:36:32 +02:00
{
Name : "pluginsAPIMetrics" ,
Description : "Sends metrics of public grafana packages usage by plugins" ,
FrontendOnly : true ,
Stage : FeatureStageExperimental ,
Owner : grafanaPluginsPlatformSquad ,
} ,
2023-09-25 17:21:28 +02:00
{
2023-12-12 09:26:45 +01:00
Name : "idForwarding" ,
Description : "Generate signed id token for identity that can be forwarded to plugins and external services" ,
Stage : FeatureStageExperimental ,
Owner : identityAccessTeam ,
2023-09-25 17:21:28 +02:00
} ,
2023-09-28 09:26:37 +02:00
{
2024-02-05 09:31:20 +01:00
Name : "externalServiceAccounts" ,
Description : "Automatic service account and token setup for plugins" ,
HideFromAdminPage : true ,
Stage : FeatureStagePublicPreview ,
Owner : identityAccessTeam ,
2023-09-28 09:26:37 +02:00
} ,
2023-10-09 08:19:08 +03:00
{
Name : "panelMonitoring" ,
Description : "Enables panel monitoring through logs and measurements" ,
2024-02-15 22:29:59 -07:00
Stage : FeatureStageGeneralAvailability ,
Expression : "true" , // enabled by default
2023-10-09 08:19:08 +03:00
Owner : grafanaDatavizSquad ,
FrontendOnly : true ,
} ,
2023-10-03 20:23:55 +02:00
{
2024-06-18 15:37:44 -04:00
Name : "enableNativeHTTPHistogram" ,
Description : "Enables native HTTP Histograms" ,
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : grafanaBackendServicesSquad ,
HideFromAdminPage : true ,
AllowSelfServe : false ,
RequiresRestart : true ,
} ,
2024-06-19 09:20:52 -04:00
{
2024-06-18 15:37:44 -04:00
Name : "disableClassicHTTPHistogram" ,
Description : "Disables classic HTTP Histogram (use with enableNativeHTTPHistogram)" ,
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : grafanaBackendServicesSquad ,
HideFromAdminPage : true ,
AllowSelfServe : false ,
RequiresRestart : true ,
2023-10-03 20:23:55 +02:00
} ,
2023-10-13 19:17:12 +01:00
{
Name : "formatString" ,
Description : "Enable format string transformer" ,
2024-01-05 19:39:02 +01:00
Stage : FeatureStagePublicPreview ,
2023-10-13 19:17:12 +01:00
FrontendOnly : true ,
2024-02-10 07:24:08 +07:00
Owner : grafanaDatavizSquad ,
2023-10-13 19:17:12 +01:00
} ,
2023-10-04 16:28:46 +02:00
{
Name : "transformationsVariableSupport" ,
Description : "Allows using variables in transformations" ,
FrontendOnly : true ,
2024-06-13 14:18:21 +01:00
Stage : FeatureStageGeneralAvailability ,
2024-02-10 07:24:08 +07:00
Owner : grafanaDatavizSquad ,
2024-06-13 14:18:21 +01:00
Expression : "true" , // Enabled by default
2023-10-04 16:28:46 +02:00
} ,
2023-10-05 15:00:36 -04:00
{
2023-11-08 11:14:05 -08:00
Name : "kubernetesPlaylists" ,
Description : "Use the kubernetes API in the frontend for playlists, and route /api/playlist requests to k8s" ,
2024-04-16 10:19:35 +03:00
Stage : FeatureStageGeneralAvailability ,
2023-10-31 10:26:39 -07:00
Owner : grafanaAppPlatformSquad ,
2024-04-16 10:19:35 +03:00
Expression : "true" ,
2023-10-31 10:26:39 -07:00
RequiresRestart : true , // changes the API routing
} ,
2023-12-05 14:31:49 -08:00
{
Name : "kubernetesSnapshots" ,
2024-02-02 14:19:45 -08:00
Description : "Routes snapshot requests from /api to the /apis endpoint" ,
2023-12-05 14:31:49 -08:00
Stage : FeatureStageExperimental ,
Owner : grafanaAppPlatformSquad ,
RequiresRestart : true , // changes the API routing
} ,
2024-06-05 17:34:23 +03:00
{
Name : "kubernetesDashboards" ,
Description : "Use the kubernetes API in the frontend for dashboards" ,
Stage : FeatureStageExperimental ,
Owner : grafanaAppPlatformSquad ,
FrontendOnly : true ,
} ,
2024-05-23 19:46:28 +03:00
{
Name : "datasourceQueryTypes" ,
Description : "Show query type endpoints in datasource API servers (currently hardcoded for testdata, expressions, and prometheus)" ,
Stage : FeatureStageExperimental ,
Owner : grafanaAppPlatformSquad ,
RequiresRestart : true , // changes the API routing
} ,
2024-01-31 10:36:51 -08:00
{
2024-04-19 12:26:21 +03:00
Name : "queryService" ,
Description : "Register /apis/query.grafana.app/ -- will eventually replace /api/ds/query" ,
Stage : FeatureStageExperimental ,
Owner : grafanaAppPlatformSquad ,
RequiresRestart : true , // Adds a route at startup
} ,
{
Name : "queryServiceRewrite" ,
2024-01-31 10:36:51 -08:00
Description : "Rewrite requests targeting /ds/query to the query service" ,
Stage : FeatureStageExperimental ,
Owner : grafanaAppPlatformSquad ,
RequiresRestart : true , // changes the API routing
2024-04-19 12:26:21 +03:00
} ,
{
Name : "queryServiceFromUI" ,
Description : "Routes requests to the new query service" ,
Stage : FeatureStageExperimental ,
Owner : grafanaAppPlatformSquad ,
FrontendOnly : true , // and can change at startup
2024-01-31 10:36:51 -08:00
} ,
2023-10-20 15:09:41 -04:00
{
Name : "cloudWatchBatchQueries" ,
Description : "Runs CloudWatch metrics queries as separate batches" ,
Stage : FeatureStagePublicPreview ,
Owner : awsDatasourcesSquad ,
} ,
2023-10-10 15:51:50 +01:00
{
Name : "recoveryThreshold" ,
Description : "Enables feature recovery threshold (aka hysteresis) for threshold server-side expression" ,
2024-01-05 12:59:41 -05:00
Stage : FeatureStageGeneralAvailability ,
2023-10-10 15:51:50 +01:00
FrontendOnly : false ,
Owner : grafanaAlertingSquad ,
RequiresRestart : true ,
2024-01-05 12:59:41 -05:00
Expression : "true" ,
2023-10-10 15:51:50 +01:00
} ,
2023-11-16 17:06:14 +01:00
{
Name : "lokiStructuredMetadata" ,
Description : "Enables the loki data source to request structured metadata from the Loki server" ,
2024-02-14 17:24:56 +01:00
Stage : FeatureStageGeneralAvailability ,
2023-11-16 17:06:14 +01:00
FrontendOnly : false ,
Owner : grafanaObservabilityLogsSquad ,
2024-02-14 17:24:56 +01:00
Expression : "true" ,
2023-11-16 17:06:14 +01:00
} ,
2023-10-17 11:23:54 +01:00
{
Name : "teamHttpHeaders" ,
2024-03-01 17:05:59 +00:00
Description : "Enables Team LBAC for datasources to apply team headers to the client requests" ,
Stage : FeatureStagePublicPreview ,
2023-10-17 11:23:54 +01:00
FrontendOnly : false ,
2023-11-03 13:20:39 +01:00
Owner : identityAccessTeam ,
2023-10-17 11:23:54 +01:00
} ,
2023-10-12 10:59:10 +02:00
{
Name : "awsDatasourcesNewFormStyling" ,
Description : "Applies new form styling for configuration and query editors in AWS plugins" ,
2024-05-15 12:23:24 +02:00
Stage : FeatureStageGeneralAvailability ,
Expression : "true" ,
2023-10-12 10:59:10 +02:00
FrontendOnly : true ,
Owner : awsDatasourcesSquad ,
} ,
2023-10-12 12:56:49 -04:00
{
Name : "cachingOptimizeSerializationMemoryUsage" ,
Description : "If enabled, the caching backend gradually serializes query responses for the cache, comparing against the configured `[caching]max_value_mb` value as it goes. This can can help prevent Grafana from running out of memory while attempting to cache very large query responses." ,
Stage : FeatureStageExperimental ,
Owner : grafanaOperatorExperienceSquad ,
FrontendOnly : false ,
} ,
2023-10-13 14:04:24 +02:00
{
Name : "panelTitleSearchInV1" ,
Description : "Enable searching for dashboards using panel title in search v1" ,
RequiresDevMode : true ,
Stage : FeatureStageExperimental ,
2024-04-19 19:12:59 +02:00
Owner : grafanaSearchAndStorageSquad ,
2023-10-13 14:04:24 +02:00
} ,
2023-10-18 15:17:03 +02:00
{
Name : "managedPluginsInstall" ,
Description : "Install managed plugins directly from plugins catalog" ,
2024-03-19 16:34:46 +01:00
Stage : FeatureStageGeneralAvailability ,
2023-10-18 15:17:03 +02:00
RequiresDevMode : false ,
Owner : grafanaPluginsPlatformSquad ,
2024-03-19 16:34:46 +01:00
Expression : "true" , // enabled by default
2023-10-18 15:17:03 +02:00
} ,
Prometheus: PromQAIL frontend, drawer, feature toggle, workflow, etc. (#73020)
* initial commit for PromQAIL
* add feature toggle and start button
* add drawer
* set up drawer and state
* fix styles and start the conditional text display
* add data info list going to ai
* add logos and style
* metric display table style, neeed to make responsive
* make feature toggle frontend only
* add logic for want prompt for list or not, add helpers, addquerysuggestion type
* make query suggestion component
* add buttons to add or refine prompt
* refactor logic to add interactions to have multiple AI or historical interactions
* refactor and enable multiple questions, all flow
* add colorful AI icon to drawer open button
* fix linting
* refactor for hooking up promQail app and only giving one suggestion
* design fixes
* fix next prompt button styling
* historical suggestions give us 5, fixed that and some design things
* hook up the api, provide defense filler if it's down, refactor lots
* use query, fix linting
* add metadata to explain for ai suggestions
* styling fixes
* give metadata for historical suggestions by parsing query on the fly
* no prompt field to query-suggestion endpoint if prompt is empty
* fix linting
* use suggest rte for historical list, fix long code style
* use suggest rte for historical list, fix long code style
* fix historical bug
* added prompt file
* updated llm logic in explainer helper
* bump @grafana/experimental from 1.7.0 to 1.7.2
* use llmservice and vectorservice
* cleanup prompts + streaming explainer
* promqail feature toggle: fix re-order
* PromQL non-llm failback recommendation logic (#75469)
* added template recommendation logic directly in helpers
* also added selected labels to recommendation
* PromQail: query gen: fix prompt formatting and fetch metric labels to be used (#75450)
* PromQail: query gen: fix prompt formatting and fetch metric labels to be used
* Code fixes as suggested
* Use newly decided collection name for promql templates
* Prometheus: Promqail tests and bug fixes (#75852)
* add tests for drawer
* refine one prompt at a time, fix css
* scroll into view on interaction change
* fix styles for light
* disable prompt input after getting sugestions for that interaction
* make buttons disappear after selecting refine prompt or show historical queries to prevent user from clicking many times
* fix border radius
* fix new eslint rule about css requiring objects and not template literals
* add scrollIntoView for test
* grafana_prometheus_promqail_explanation_feedback - add feedback rudderstack interaction for explanation
* add form link to feedback for query suggestions
* fix bugs
* for prettier
* PromQL Builder Explainer: Added promql documentation and updated prompt (#75593)
* added promql documentation and updated prompt
* refactor prompt generation into isolated function
* updated prompt to answer with a question
* removed commented code
* updated metadata logic
* updated documentation body logic
* Prometheus: PromQAIL UI fixes (#76654)
* align buttons at 16px
* only autoscroll when an interaction has been added or the suggestions have been updated
* add 12px below explain for suggested queries
* add . after suggestion number
* fix linting error
* Prometheus: PromQAIL feedback improvements (#76711)
* align buttons at 16px
* only autoscroll when an interaction has been added or the suggestions have been updated
* add 12px below explain for suggested queries
* add . after suggestion number
* add text indication for explanation feedback
* add form for suggestion feedback, add form for not helpful explanation feedback
* fix linting error
* make radio button feedback required
* required text, padding additions, thank you for your feedback
* PromQL Builder Suggestion: Added type level templates and removed explainer steps for fallback suggestion logic (#75764)
* adding more detailed templates to promql fallback suggest
* remove debug logs
* added missing explain logic
* Fix brendan's type issue
---------
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
Co-authored-by: bohandley <brendan.ohandley@gmail.com>
* make yarn.lock equal to current in main
* fix feature toggles
* fix prettier issues
---------
Co-authored-by: Edward Qian <edward.qian@grafana.com>
Co-authored-by: Yasir Ekinci <yas.ekinci@grafana.com>
Co-authored-by: Edward Qian <edward.c.qian@gmail.com>
Co-authored-by: Gerry Boland <gerboland@users.noreply.github.com>
2023-10-19 10:45:32 -05:00
{
Name : "prometheusPromQAIL" ,
Description : "Prometheus and AI/ML to assist users in creating a query" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaObservabilityMetricsSquad ,
} ,
2024-04-04 16:38:23 -04:00
{
Name : "prometheusCodeModeMetricNamesSearch" ,
Description : "Enables search for metric names in Code Mode, to improve performance when working with an enormous number of metric names" ,
FrontendOnly : true ,
Stage : FeatureStageExperimental ,
Owner : grafanaObservabilityMetricsSquad ,
} ,
2023-11-03 16:39:58 +02:00
{
Name : "addFieldFromCalculationStatFunctions" ,
Description : "Add cumulative and window functions to the add field from calculation transformation" ,
2024-01-05 19:39:02 +01:00
Stage : FeatureStagePublicPreview ,
2023-11-03 16:39:58 +02:00
FrontendOnly : true ,
2024-02-10 07:24:08 +07:00
Owner : grafanaDatavizSquad ,
2023-11-03 16:39:58 +02:00
} ,
2023-10-30 17:27:08 +01:00
{
Name : "alertmanagerRemoteSecondary" ,
Description : "Enable Grafana to sync configuration and state with a remote Alertmanager." ,
Stage : FeatureStageExperimental ,
Owner : grafanaAlertingSquad ,
} ,
{
Name : "alertmanagerRemotePrimary" ,
Description : "Enable Grafana to have a remote Alertmanager instance as the primary Alertmanager." ,
Stage : FeatureStageExperimental ,
Owner : grafanaAlertingSquad ,
} ,
{
Name : "alertmanagerRemoteOnly" ,
Description : "Disable the internal Alertmanager and only use the external one defined." ,
Stage : FeatureStageExperimental ,
Owner : grafanaAlertingSquad ,
} ,
2023-10-31 13:30:13 +00:00
{
Name : "annotationPermissionUpdate" ,
2024-03-21 23:45:23 +01:00
Description : "Change the way annotation permissions work by scoping them to folders and dashboards." ,
Stage : FeatureStageGeneralAvailability ,
2023-10-31 13:30:13 +00:00
RequiresDevMode : false ,
2024-03-21 23:45:23 +01:00
Expression : "true" , // enabled by default
2023-11-03 13:20:39 +01:00
Owner : identityAccessTeam ,
2023-10-31 13:30:13 +00:00
} ,
2023-11-02 16:47:42 +01:00
{
Name : "extractFieldsNameDeduplication" ,
Description : "Make sure extracted field names are unique in the dataframe" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
2024-02-10 07:24:08 +07:00
Owner : grafanaDatavizSquad ,
2023-11-02 16:47:42 +01:00
} ,
2023-11-02 20:02:25 +01:00
{
Name : "dashboardSceneForViewers" ,
Description : "Enables dashboard rendering using Scenes for viewer roles" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaDashboardsSquad ,
} ,
2024-02-11 09:08:47 +01:00
{
Name : "dashboardSceneSolo" ,
Description : "Enables rendering dashboards using scenes for solo panels" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaDashboardsSquad ,
} ,
2023-11-13 09:51:21 +01:00
{
Name : "dashboardScene" ,
Description : "Enables dashboard rendering using scenes for all roles" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaDashboardsSquad ,
} ,
2023-11-03 05:15:54 -07:00
{
Name : "panelFilterVariable" ,
Description : "Enables use of the `systemPanelFilterVar` variable to filter panels in a dashboard" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaDashboardsSquad ,
HideFromDocs : true ,
} ,
2023-11-06 14:39:22 +01:00
{
Name : "pdfTables" ,
Description : "Enables generating table data as PDF in reporting" ,
2024-01-05 15:57:13 +01:00
Stage : FeatureStagePublicPreview ,
2023-11-06 14:39:22 +01:00
FrontendOnly : false ,
Owner : grafanaSharingSquad ,
} ,
2023-11-08 10:50:01 +01:00
{
2024-02-22 17:33:27 +01:00
Name : "ssoSettingsApi" ,
Description : "Enables the SSO settings API and the OAuth configuration UIs in Grafana" ,
2024-05-02 16:00:52 +03:00
Stage : FeatureStageGeneralAvailability ,
Expression : "true" ,
2024-02-22 17:33:27 +01:00
AllowSelfServe : true ,
FrontendOnly : false ,
Owner : identityAccessTeam ,
2023-11-08 10:50:01 +01:00
} ,
2024-01-02 11:52:21 -08:00
{
Name : "canvasPanelPanZoom" ,
Description : "Allow pan and zoom in canvas panel" ,
2024-01-05 18:40:11 -07:00
Stage : FeatureStagePublicPreview ,
2024-01-02 11:52:21 -08:00
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
} ,
2023-11-09 11:54:03 +01:00
{
Name : "logsInfiniteScrolling" ,
Description : "Enables infinite scrolling for the Logs panel in Explore and Dashboards" ,
2024-06-04 18:23:20 +02:00
Stage : FeatureStageGeneralAvailability ,
Expression : "true" ,
2023-11-09 11:54:03 +01:00
FrontendOnly : true ,
Owner : grafanaObservabilityLogsSquad ,
} ,
2023-11-15 12:28:29 +01:00
{
2024-04-09 14:15:18 -04:00
Name : "exploreMetrics" ,
Description : "Enables the new Explore Metrics core app" ,
Stage : FeatureStageGeneralAvailability ,
Expression : "true" , // enabled by default
2023-11-15 12:28:29 +01:00
FrontendOnly : true ,
Owner : grafanaDashboardsSquad ,
} ,
2023-11-10 14:14:39 +01:00
{
Name : "alertingSimplifiedRouting" ,
2024-02-15 17:58:34 -05:00
Description : "Enables users to easily configure alert notifications by specifying a contact point directly when editing or creating an alert rule" ,
2024-03-22 13:45:20 -04:00
Stage : FeatureStageGeneralAvailability ,
2023-11-10 14:14:39 +01:00
FrontendOnly : false ,
Owner : grafanaAlertingSquad ,
2024-03-22 13:45:20 -04:00
Expression : "true" , // enabled by default
2023-11-10 14:14:39 +01:00
} ,
2023-11-16 10:48:10 +01:00
{
Name : "logRowsPopoverMenu" ,
Description : "Enable filtering menu displayed when text of a log line is selected" ,
2024-01-08 17:03:39 +01:00
Stage : FeatureStageGeneralAvailability ,
2023-11-16 10:48:10 +01:00
FrontendOnly : true ,
2024-01-08 17:03:39 +01:00
Expression : "true" ,
2023-11-16 10:48:10 +01:00
Owner : grafanaObservabilityLogsSquad ,
} ,
2023-11-15 18:09:14 +01:00
{
Name : "pluginsSkipHostEnvVars" ,
Description : "Disables passing host environment variable to plugin processes" ,
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : grafanaPluginsPlatformSquad ,
} ,
2023-12-13 11:33:14 +02:00
{
Name : "tableSharedCrosshair" ,
Description : "Enables shared crosshair in table panel" ,
FrontendOnly : true ,
Stage : FeatureStageExperimental ,
2024-02-10 07:24:08 +07:00
Owner : grafanaDatavizSquad ,
2023-12-13 11:33:14 +02:00
} ,
2023-11-24 15:49:16 +01:00
{
Name : "regressionTransformation" ,
Description : "Enables regression analysis transformation" ,
2024-01-05 19:39:02 +01:00
Stage : FeatureStagePublicPreview ,
2023-11-24 15:49:16 +01:00
FrontendOnly : true ,
2024-02-10 07:24:08 +07:00
Owner : grafanaDatavizSquad ,
2023-11-24 15:49:16 +01:00
} ,
2023-12-18 21:43:16 +01:00
{
// this is mainly used a a way to quickly disable query hints as a safe guard for our infrastructure
Name : "lokiQueryHints" ,
Description : "Enables query hints for Loki" ,
Stage : FeatureStageGeneralAvailability ,
FrontendOnly : true ,
Expression : "true" ,
Owner : grafanaObservabilityLogsSquad ,
AllowSelfServe : false ,
} ,
2024-01-17 21:32:44 -08:00
{
Name : "kubernetesFeatureToggles" ,
Description : "Use the kubernetes API for feature toggle management in the frontend" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaOperatorExperienceSquad ,
AllowSelfServe : false ,
HideFromAdminPage : true ,
} ,
2024-01-10 14:19:01 +01:00
{
Name : "cloudRBACRoles" ,
Description : "Enabled grafana cloud specific RBAC roles" ,
Stage : FeatureStageExperimental ,
Owner : identityAccessTeam ,
HideFromDocs : true ,
RequiresRestart : true ,
} ,
2024-01-10 15:52:58 -05:00
{
Name : "alertingQueryOptimization" ,
Description : "Optimizes eligible queries in order to reduce load on datasources" ,
Stage : FeatureStageGeneralAvailability ,
Owner : grafanaAlertingSquad ,
AllowSelfServe : false ,
2024-06-07 16:21:54 +02:00
Expression : "false" ,
2024-01-10 15:52:58 -05:00
} ,
2024-01-15 11:43:19 +00:00
{
Name : "newFolderPicker" ,
Description : "Enables the nested folder picker without having nested folders enabled" ,
Stage : FeatureStageExperimental ,
Owner : grafanaFrontendPlatformSquad ,
FrontendOnly : true ,
} ,
2024-01-18 12:48:11 -06:00
{
Name : "jitterAlertRulesWithinGroups" ,
Description : "Distributes alert rule evaluations more evenly over time, including spreading out rules within the same group" ,
FrontendOnly : false ,
2024-01-25 16:46:22 -06:00
Stage : FeatureStagePublicPreview ,
2024-01-18 12:48:11 -06:00
Owner : grafanaAlertingSquad ,
AllowSelfServe : false ,
HideFromDocs : true ,
HideFromAdminPage : false ,
RequiresRestart : true ,
} ,
2024-01-22 11:09:08 -05:00
{
Name : "onPremToCloudMigrations" ,
Description : "In-development feature that will allow users to easily migrate their on-prem Grafana instances to Grafana Cloud." ,
Stage : FeatureStageExperimental ,
Owner : grafanaOperatorExperienceSquad ,
} ,
2024-01-23 17:03:30 +01:00
{
Name : "alertingSaveStatePeriodic" ,
Description : "Writes the state periodically to the database, asynchronous to rule evaluation" ,
Stage : FeatureStagePrivatePreview ,
FrontendOnly : false ,
Owner : grafanaAlertingSquad ,
} ,
2024-01-29 15:22:17 -05:00
{
Name : "promQLScope" ,
Description : "In-development feature that will allow injection of labels into prometheus queries." ,
Stage : FeatureStageExperimental ,
Owner : grafanaObservabilityMetricsSquad ,
} ,
2024-02-27 16:16:00 -05:00
{
Name : "sqlExpressions" ,
Description : "Enables using SQL and DuckDB functions as Expressions." ,
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : grafanaAppPlatformSquad ,
} ,
2024-01-31 17:26:12 +01:00
{
Name : "nodeGraphDotLayout" ,
Description : "Changed the layout algorithm for the node graph" ,
Stage : FeatureStageExperimental ,
FrontendOnly : true ,
Owner : grafanaObservabilityTracesAndProfilingSquad ,
} ,
2024-02-07 21:28:26 +07:00
{
Name : "groupToNestedTableTransformation" ,
Description : "Enables the group to nested table transformation" ,
2024-07-10 11:08:41 -06:00
Stage : FeatureStageGeneralAvailability ,
2024-02-07 21:28:26 +07:00
FrontendOnly : true ,
Owner : grafanaDatavizSquad ,
2024-07-10 11:08:41 -06:00
Expression : "true" , // enabled by default,
2024-02-07 21:28:26 +07:00
} ,
2024-02-08 13:09:34 +01:00
{
Name : "newPDFRendering" ,
2024-03-22 09:50:53 +01:00
Description : "New implementation for the dashboard-to-PDF rendering" ,
Stage : FeatureStagePublicPreview ,
2024-02-08 13:09:34 +01:00
Owner : grafanaSharingSquad ,
} ,
2024-05-09 16:12:08 -03:00
{
Name : "tlsMemcached" ,
Description : "Use TLS-enabled memcached in the enterprise caching feature" ,
Stage : FeatureStageExperimental ,
Owner : grafanaOperatorExperienceSquad ,
HideFromDocs : true ,
} ,
2024-02-12 15:59:35 -05:00
{
Name : "kubernetesAggregator" ,
Description : "Enable grafana aggregator" ,
Stage : FeatureStageExperimental ,
Owner : grafanaAppPlatformSquad ,
RequiresRestart : true ,
} ,
2024-02-16 16:59:11 -08:00
{
Name : "expressionParser" ,
Description : "Enable new expression parser" ,
Stage : FeatureStageExperimental ,
Owner : grafanaAppPlatformSquad ,
RequiresRestart : true ,
} ,
2024-02-14 09:18:04 -08:00
{
Name : "groupByVariable" ,
Description : "Enable groupBy variable support in scenes dashboards" ,
Stage : FeatureStageExperimental ,
Owner : grafanaDashboardsSquad ,
AllowSelfServe : false ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-04-02 17:45:15 +02:00
{
Name : "authAPIAccessTokenAuth" ,
Description : "Enables the use of Auth API access tokens for authentication" ,
Stage : FeatureStageExperimental ,
Owner : identityAccessTeam ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-03-05 16:41:19 +01:00
{
Name : "scopeFilters" ,
Description : "Enables the use of scope filters in Grafana" ,
FrontendOnly : false ,
Stage : FeatureStageExperimental ,
Owner : grafanaDashboardsSquad ,
RequiresRestart : false ,
AllowSelfServe : false ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-03-14 05:04:45 -06:00
{
2024-05-20 16:13:05 +03:00
Name : "ssoSettingsSAML" ,
Description : "Use the new SSO Settings API to configure the SAML connector" ,
Stage : FeatureStagePublicPreview ,
Owner : identityAccessTeam ,
AllowSelfServe : true ,
2024-03-14 05:04:45 -06:00
} ,
2024-03-25 14:22:24 +01:00
{
Name : "oauthRequireSubClaim" ,
Description : "Require that sub claims is present in oauth tokens." ,
Stage : FeatureStageExperimental ,
Owner : identityAccessTeam ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-04-04 13:25:21 +02:00
{
Name : "newDashboardWithFiltersAndGroupBy" ,
Description : "Enables filters and group by variables on all new dashboards. Variables are added only if default data source supports filtering." ,
Stage : FeatureStageExperimental ,
Owner : grafanaDashboardsSquad ,
AllowSelfServe : false ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-04-05 11:57:56 -04:00
{
Name : "cloudWatchNewLabelParsing" ,
Description : "Updates CloudWatch label parsing to be more accurate" ,
Stage : FeatureStageGeneralAvailability ,
Expression : "true" , // enabled by default
Owner : awsDatasourcesSquad ,
FrontendOnly : false ,
AllowSelfServe : false ,
} ,
2024-04-12 17:19:25 +01:00
{
Name : "accessActionSets" ,
Description : "Introduces action sets for resource permissions" ,
Stage : FeatureStageExperimental ,
Owner : identityAccessTeam ,
} ,
2024-04-16 10:52:47 -04:00
{
Name : "disableNumericMetricsSortingInExpressions" ,
Description : "In server-side expressions, disable the sorting of numeric-kind metrics by their metric name or labels." ,
Stage : FeatureStageExperimental ,
FrontendOnly : false ,
Owner : grafanaObservabilityMetricsSquad ,
RequiresRestart : true ,
} ,
2024-04-22 12:53:16 -05:00
{
Name : "grafanaManagedRecordingRules" ,
Description : "Enables Grafana-managed recording rules." ,
Stage : FeatureStageExperimental ,
Owner : grafanaAlertingSquad ,
AllowSelfServe : false ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-04-24 10:32:11 +02:00
{
Name : "queryLibrary" ,
Description : "Enables Query Library feature in Explore" ,
Stage : FeatureStageExperimental ,
Owner : grafanaExploreSquad ,
FrontendOnly : false ,
AllowSelfServe : false ,
} ,
2024-05-02 10:28:15 -05:00
{
Name : "logsExploreTableDefaultVisualization" ,
Description : "Sets the logs table as default visualisation in logs explore" ,
Stage : FeatureStageExperimental ,
Owner : grafanaObservabilityLogsSquad ,
FrontendOnly : true ,
} ,
2024-05-03 12:02:18 -03:00
{
Name : "newDashboardSharingComponent" ,
Description : "Enables the new sharing drawer design" ,
Stage : FeatureStageExperimental ,
Owner : grafanaSharingSquad ,
FrontendOnly : true ,
} ,
2024-05-24 16:40:49 +02:00
{
Name : "alertingListViewV2" ,
Description : "Enables the new alert list view design" ,
Stage : FeatureStageExperimental ,
Owner : grafanaAlertingSquad ,
FrontendOnly : true ,
} ,
2024-05-13 11:32:34 +02:00
{
Name : "notificationBanner" ,
Description : "Enables the notification banner UI and API" ,
Stage : FeatureStageExperimental ,
Owner : grafanaFrontendPlatformSquad ,
FrontendOnly : false ,
} ,
2024-05-16 14:36:26 -03:00
{
Name : "dashboardRestore" ,
2024-06-25 16:43:13 +02:00
Description : "Enables deleted dashboard restore feature (backend only)" ,
2024-05-16 14:36:26 -03:00
Stage : FeatureStageExperimental ,
2024-06-25 16:43:13 +02:00
Owner : grafanaSearchAndStorageSquad ,
2024-05-16 14:36:26 -03:00
HideFromAdminPage : true ,
} ,
2024-05-21 08:05:16 -05:00
{
Name : "datasourceProxyDisableRBAC" ,
Description : "Disables applying a plugin route's ReqAction field to authorization" ,
Stage : FeatureStageGeneralAvailability ,
Owner : identityAccessTeam ,
HideFromDocs : true ,
2024-06-07 16:21:54 +02:00
Expression : "false" ,
2024-05-21 08:05:16 -05:00
} ,
2024-05-23 14:29:19 +02:00
{
Name : "alertingDisableSendAlertsExternal" ,
Description : "Disables the ability to send alerts to an external Alertmanager datasource." ,
Stage : FeatureStageExperimental ,
Owner : grafanaAlertingSquad ,
AllowSelfServe : false ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-05-27 14:28:06 +02:00
{
Name : "preserveDashboardStateWhenNavigating" ,
Description : "Enables possibility to preserve dashboard variables and time range when navigating between dashboards" ,
Stage : FeatureStageExperimental ,
Owner : grafanaDashboardsSquad ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-05-29 17:01:38 +02:00
{
Name : "alertingCentralAlertHistory" ,
Description : "Enables the new central alert history." ,
Stage : FeatureStageExperimental ,
Owner : grafanaAlertingSquad ,
FrontendOnly : true ,
} ,
2024-06-05 13:36:14 +02:00
{
Name : "pluginProxyPreserveTrailingSlash" ,
Description : "Preserve plugin proxy trailing slash." ,
Stage : FeatureStageGeneralAvailability ,
Owner : grafanaPluginsPlatformSquad ,
2024-06-06 15:28:11 +02:00
Expression : "false" , // disabled by default
2024-06-05 13:36:14 +02:00
} ,
2024-06-06 17:53:17 +01:00
{
Name : "azureMonitorPrometheusExemplars" ,
Description : "Allows configuration of Azure Monitor as a data source that can provide Prometheus exemplars" ,
Stage : FeatureStageExperimental ,
Owner : grafanaPartnerPluginsSquad ,
} ,
2024-06-10 13:40:03 +02:00
{
Name : "pinNavItems" ,
Description : "Enables pinning of nav items" ,
Stage : FeatureStageExperimental ,
Owner : grafanaFrontendPlatformSquad ,
} ,
2024-06-13 11:41:35 +02:00
{
Name : "authZGRPCServer" ,
Description : "Enables the gRPC server for authorization" ,
Stage : FeatureStageExperimental ,
Owner : identityAccessTeam ,
HideFromAdminPage : true ,
HideFromDocs : true ,
} ,
2024-06-17 11:41:50 +02:00
{
Name : "openSearchBackendFlowEnabled" ,
Description : "Enables the backend query flow for Open Search datasource plugin" ,
Stage : FeatureStagePublicPreview ,
Owner : awsDatasourcesSquad ,
} ,
2024-06-18 14:31:27 +03:00
{
Name : "ssoSettingsLDAP" ,
Description : "Use the new SSO Settings API to configure LDAP" ,
Stage : FeatureStageExperimental ,
Owner : identityAccessTeam ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-06-20 12:56:39 +02:00
{
Name : "failWrongDSUID" ,
Description : "Throws an error if a datasource has an invalid UIDs" ,
Stage : FeatureStageExperimental ,
Owner : grafanaPluginsPlatformSquad ,
} ,
2024-06-18 11:07:15 -04:00
{
Name : "databaseReadReplica" ,
Description : "Use a read replica for some database queries." ,
Stage : FeatureStageExperimental ,
Owner : grafanaBackendServicesSquad ,
Expression : "false" , // enabled by default
} ,
2024-06-19 15:59:47 +02:00
{
Name : "zanzana" ,
Description : "Use openFGA as authorization engine." ,
Stage : FeatureStageExperimental ,
Owner : identityAccessTeam ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-06-20 18:49:19 +03:00
{
Name : "passScopeToDashboardApi" ,
Description : "Enables the passing of scopes to dashboards fetching in Grafana" ,
FrontendOnly : false ,
Stage : FeatureStageExperimental ,
Owner : grafanaDashboardsSquad ,
RequiresRestart : false ,
AllowSelfServe : false ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-06-20 16:52:03 -04:00
{
Name : "alertingApiServer" ,
Description : "Register Alerting APIs with the K8s API server" ,
Stage : FeatureStageExperimental ,
Owner : grafanaAlertingSquad ,
RequiresRestart : true ,
} ,
2024-06-25 16:43:13 +02:00
{
Name : "dashboardRestoreUI" ,
Description : "Enables the frontend to be able to restore a recently deleted dashboard" ,
Stage : FeatureStageExperimental ,
Owner : grafanaFrontendPlatformSquad ,
Expression : "false" , // enabled by default
} ,
2024-06-27 17:10:28 +02:00
{
Name : "cloudWatchRoundUpEndTime" ,
Description : "Round up end time for metric queries to the next minute to avoid missing data" ,
Stage : FeatureStageGeneralAvailability ,
Owner : awsDatasourcesSquad ,
Expression : "true" ,
} ,
2024-07-01 11:28:39 +01:00
{
Name : "bodyScrolling" ,
Description : "Adjusts Page to make body the scrollable element" ,
Stage : FeatureStageExperimental ,
Owner : grafanaFrontendPlatformSquad ,
Expression : "false" , // enabled by default
FrontendOnly : true ,
AllowSelfServe : false ,
HideFromDocs : true ,
HideFromAdminPage : true ,
} ,
2024-07-02 12:34:12 +02:00
{
Name : "cloudwatchMetricInsightsCrossAccount" ,
Description : "Enables cross account observability for Cloudwatch Metric Insights" ,
Stage : FeatureStageExperimental ,
Owner : awsDatasourcesSquad ,
FrontendOnly : true ,
} ,
2024-07-17 21:09:55 +07:00
{
Name : "prometheusAzureOverrideAudience" ,
Description : "Deprecated. Allow override default AAD audience for Azure Prometheus endpoint. Enabled by default. This feature should no longer be used and will be removed in the future." ,
Stage : FeatureStageDeprecated ,
Owner : grafanaPartnerPluginsSquad ,
Expression : "true" , // Enabled by default for now
} ,
2022-01-26 09:44:20 -08:00
}
)
2024-02-09 15:34:12 -08:00
//go:embed toggles_gen.json
var f embed . FS
// Get the cached feature list (exposed as a k8s resource)
func GetEmbeddedFeatureList ( ) ( featuretoggle . FeatureList , error ) {
features := featuretoggle . FeatureList { }
body , err := f . ReadFile ( "toggles_gen.json" )
if err == nil {
err = json . Unmarshal ( body , & features )
}
return features , err
}