mirror of
https://github.com/grafana/grafana.git
synced 2025-02-11 16:15:42 -06:00
FeatureFlags: Add created time property (#78996)
This commit is contained in:
parent
b40913c5e5
commit
f761ae1f02
@ -4,6 +4,7 @@ import (
|
||||
"bytes"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"time"
|
||||
)
|
||||
|
||||
type FeatureToggles interface {
|
||||
@ -110,6 +111,7 @@ type FeatureFlag struct {
|
||||
Description string `json:"description"`
|
||||
Stage FeatureFlagStage `json:"stage,omitempty"`
|
||||
DocsURL string `json:"docsURL,omitempty"`
|
||||
Created time.Time `json:"created,omitempty"` // when the flag was introduced
|
||||
|
||||
// Owner person or team that owns this feature flag
|
||||
Owner codeowner `json:"-"`
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,149 +1,149 @@
|
||||
Name,Stage,Owner,requiresDevMode,RequiresLicense,RequiresRestart,FrontendOnly
|
||||
disableEnvelopeEncryption,GA,@grafana/grafana-as-code,false,false,false,false
|
||||
live-service-web-worker,experimental,@grafana/grafana-app-platform-squad,false,false,false,true
|
||||
queryOverLive,experimental,@grafana/grafana-app-platform-squad,false,false,false,true
|
||||
panelTitleSearch,preview,@grafana/grafana-app-platform-squad,false,false,false,false
|
||||
publicDashboards,GA,@grafana/sharing-squad,false,false,false,false
|
||||
publicDashboardsEmailSharing,preview,@grafana/sharing-squad,false,true,false,false
|
||||
lokiExperimentalStreaming,experimental,@grafana/observability-logs,false,false,false,false
|
||||
featureHighlights,GA,@grafana/grafana-as-code,false,false,false,false
|
||||
migrationLocking,preview,@grafana/backend-platform,false,false,false,false
|
||||
storage,experimental,@grafana/grafana-app-platform-squad,false,false,false,false
|
||||
correlations,preview,@grafana/explore-squad,false,false,false,false
|
||||
exploreContentOutline,GA,@grafana/explore-squad,false,false,false,true
|
||||
datasourceQueryMultiStatus,experimental,@grafana/plugins-platform-backend,false,false,false,false
|
||||
traceToMetrics,experimental,@grafana/observability-traces-and-profiling,false,false,false,true
|
||||
autoMigrateOldPanels,preview,@grafana/dataviz-squad,false,false,false,true
|
||||
disableAngular,preview,@grafana/dataviz-squad,false,false,false,true
|
||||
canvasPanelNesting,experimental,@grafana/dataviz-squad,false,false,false,true
|
||||
newVizTooltips,GA,@grafana/dataviz-squad,false,false,false,true
|
||||
scenes,experimental,@grafana/dashboards-squad,false,false,false,true
|
||||
disableSecretsCompatibility,experimental,@grafana/hosted-grafana-team,false,false,true,false
|
||||
logRequestsInstrumentedAsUnknown,experimental,@grafana/hosted-grafana-team,false,false,false,false
|
||||
dataConnectionsConsole,GA,@grafana/plugins-platform-backend,false,false,false,false
|
||||
topnav,deprecated,@grafana/grafana-frontend-platform,false,false,false,false
|
||||
dockedMegaMenu,experimental,@grafana/grafana-frontend-platform,false,false,false,true
|
||||
grpcServer,preview,@grafana/grafana-app-platform-squad,false,false,false,false
|
||||
entityStore,experimental,@grafana/grafana-app-platform-squad,true,false,false,false
|
||||
cloudWatchCrossAccountQuerying,GA,@grafana/aws-datasources,false,false,false,false
|
||||
redshiftAsyncQueryDataSupport,GA,@grafana/aws-datasources,false,false,false,false
|
||||
athenaAsyncQueryDataSupport,GA,@grafana/aws-datasources,false,false,false,true
|
||||
cloudwatchNewRegionsHandler,experimental,@grafana/aws-datasources,false,false,false,false
|
||||
showDashboardValidationWarnings,experimental,@grafana/dashboards-squad,false,false,false,false
|
||||
mysqlAnsiQuotes,experimental,@grafana/backend-platform,false,false,false,false
|
||||
accessControlOnCall,preview,@grafana/identity-access-team,false,false,false,false
|
||||
nestedFolders,preview,@grafana/backend-platform,false,false,false,false
|
||||
nestedFolderPicker,GA,@grafana/grafana-frontend-platform,false,false,false,true
|
||||
accessTokenExpirationCheck,GA,@grafana/identity-access-team,false,false,false,false
|
||||
emptyDashboardPage,GA,@grafana/dashboards-squad,false,false,false,true
|
||||
disablePrometheusExemplarSampling,GA,@grafana/observability-metrics,false,false,false,false
|
||||
alertingBacktesting,experimental,@grafana/alerting-squad,false,false,false,false
|
||||
editPanelCSVDragAndDrop,experimental,@grafana/grafana-bi-squad,false,false,false,true
|
||||
alertingNoNormalState,preview,@grafana/alerting-squad,false,false,false,false
|
||||
logsContextDatasourceUi,GA,@grafana/observability-logs,false,false,false,true
|
||||
lokiQuerySplitting,GA,@grafana/observability-logs,false,false,false,true
|
||||
lokiQuerySplittingConfig,experimental,@grafana/observability-logs,false,false,false,true
|
||||
individualCookiePreferences,experimental,@grafana/backend-platform,false,false,false,false
|
||||
prometheusMetricEncyclopedia,GA,@grafana/observability-metrics,false,false,false,true
|
||||
influxdbBackendMigration,GA,@grafana/observability-metrics,false,false,false,true
|
||||
influxqlStreamingParser,experimental,@grafana/observability-metrics,false,false,false,false
|
||||
clientTokenRotation,GA,@grafana/identity-access-team,false,false,false,false
|
||||
prometheusDataplane,GA,@grafana/observability-metrics,false,false,false,false
|
||||
lokiMetricDataplane,GA,@grafana/observability-logs,false,false,false,false
|
||||
lokiLogsDataplane,experimental,@grafana/observability-logs,false,false,false,false
|
||||
dataplaneFrontendFallback,GA,@grafana/observability-metrics,false,false,false,true
|
||||
disableSSEDataplane,experimental,@grafana/observability-metrics,false,false,false,false
|
||||
alertStateHistoryLokiSecondary,experimental,@grafana/alerting-squad,false,false,false,false
|
||||
alertStateHistoryLokiPrimary,experimental,@grafana/alerting-squad,false,false,false,false
|
||||
alertStateHistoryLokiOnly,experimental,@grafana/alerting-squad,false,false,false,false
|
||||
unifiedRequestLog,experimental,@grafana/backend-platform,false,false,false,false
|
||||
renderAuthJWT,preview,@grafana/grafana-as-code,false,false,false,false
|
||||
externalServiceAuth,experimental,@grafana/identity-access-team,true,false,false,false
|
||||
refactorVariablesTimeRange,preview,@grafana/dashboards-squad,false,false,false,false
|
||||
useCachingService,GA,@grafana/grafana-operator-experience-squad,false,false,true,false
|
||||
enableElasticsearchBackendQuerying,GA,@grafana/observability-logs,false,false,false,false
|
||||
advancedDataSourcePicker,GA,@grafana/dashboards-squad,false,false,false,true
|
||||
faroDatasourceSelector,preview,@grafana/app-o11y,false,false,false,true
|
||||
enableDatagridEditing,preview,@grafana/grafana-bi-squad,false,false,false,true
|
||||
extraThemes,experimental,@grafana/grafana-frontend-platform,false,false,false,true
|
||||
lokiPredefinedOperations,experimental,@grafana/observability-logs,false,false,false,true
|
||||
pluginsFrontendSandbox,experimental,@grafana/plugins-platform-backend,false,false,false,true
|
||||
dashboardEmbed,experimental,@grafana/grafana-as-code,false,false,false,true
|
||||
frontendSandboxMonitorOnly,experimental,@grafana/plugins-platform-backend,false,false,false,true
|
||||
sqlDatasourceDatabaseSelection,preview,@grafana/grafana-bi-squad,false,false,false,true
|
||||
lokiFormatQuery,experimental,@grafana/observability-logs,false,false,false,true
|
||||
cloudWatchLogsMonacoEditor,GA,@grafana/aws-datasources,false,false,false,true
|
||||
exploreScrollableLogsContainer,experimental,@grafana/observability-logs,false,false,false,true
|
||||
recordedQueriesMulti,GA,@grafana/observability-metrics,false,false,false,false
|
||||
pluginsDynamicAngularDetectionPatterns,experimental,@grafana/plugins-platform-backend,false,false,false,false
|
||||
vizAndWidgetSplit,experimental,@grafana/dashboards-squad,false,false,false,true
|
||||
prometheusIncrementalQueryInstrumentation,experimental,@grafana/observability-metrics,false,false,false,true
|
||||
logsExploreTableVisualisation,experimental,@grafana/observability-logs,false,false,false,true
|
||||
awsDatasourcesTempCredentials,experimental,@grafana/aws-datasources,false,false,false,false
|
||||
transformationsRedesign,GA,@grafana/observability-metrics,false,false,false,true
|
||||
mlExpressions,experimental,@grafana/alerting-squad,false,false,false,false
|
||||
traceQLStreaming,experimental,@grafana/observability-traces-and-profiling,false,false,false,true
|
||||
metricsSummary,experimental,@grafana/observability-traces-and-profiling,false,false,false,true
|
||||
grafanaAPIServer,experimental,@grafana/grafana-app-platform-squad,false,false,false,false
|
||||
grafanaAPIServerWithExperimentalAPIs,experimental,@grafana/grafana-app-platform-squad,false,false,false,false
|
||||
featureToggleAdminPage,experimental,@grafana/grafana-operator-experience-squad,false,false,true,false
|
||||
awsAsyncQueryCaching,preview,@grafana/aws-datasources,false,false,false,false
|
||||
splitScopes,preview,@grafana/identity-access-team,false,false,true,false
|
||||
traceToProfiles,experimental,@grafana/observability-traces-and-profiling,false,false,false,true
|
||||
tracesEmbeddedFlameGraph,experimental,@grafana/observability-traces-and-profiling,false,false,false,true
|
||||
permissionsFilterRemoveSubquery,experimental,@grafana/backend-platform,false,false,false,false
|
||||
prometheusConfigOverhaulAuth,GA,@grafana/observability-metrics,false,false,false,false
|
||||
configurableSchedulerTick,experimental,@grafana/alerting-squad,false,false,true,false
|
||||
influxdbSqlSupport,experimental,@grafana/observability-metrics,false,false,false,false
|
||||
alertingNoDataErrorExecution,privatePreview,@grafana/alerting-squad,false,false,true,false
|
||||
angularDeprecationUI,experimental,@grafana/plugins-platform-backend,false,false,false,true
|
||||
dashgpt,preview,@grafana/dashboards-squad,false,false,false,true
|
||||
reportingRetries,preview,@grafana/sharing-squad,false,false,true,false
|
||||
sseGroupByDatasource,experimental,@grafana/observability-metrics,false,false,false,false
|
||||
requestInstrumentationStatusSource,experimental,@grafana/plugins-platform-backend,false,false,false,false
|
||||
libraryPanelRBAC,experimental,@grafana/dashboards-squad,false,false,true,false
|
||||
lokiRunQueriesInParallel,privatePreview,@grafana/observability-logs,false,false,false,false
|
||||
wargamesTesting,experimental,@grafana/hosted-grafana-team,false,false,false,false
|
||||
alertingInsights,GA,@grafana/alerting-squad,false,false,false,true
|
||||
externalCorePlugins,experimental,@grafana/plugins-platform-backend,false,false,false,false
|
||||
pluginsAPIMetrics,experimental,@grafana/plugins-platform-backend,false,false,false,true
|
||||
httpSLOLevels,experimental,@grafana/hosted-grafana-team,false,false,true,false
|
||||
idForwarding,experimental,@grafana/identity-access-team,true,false,false,false
|
||||
cloudWatchWildCardDimensionValues,GA,@grafana/aws-datasources,false,false,false,false
|
||||
externalServiceAccounts,experimental,@grafana/identity-access-team,true,false,false,false
|
||||
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,preview,@grafana/grafana-bi-squad,false,false,false,true
|
||||
kubernetesPlaylists,experimental,@grafana/grafana-app-platform-squad,false,false,true,false
|
||||
cloudWatchBatchQueries,preview,@grafana/aws-datasources,false,false,false,false
|
||||
recoveryThreshold,experimental,@grafana/alerting-squad,false,false,true,false
|
||||
lokiStructuredMetadata,experimental,@grafana/observability-logs,false,false,false,false
|
||||
teamHttpHeaders,experimental,@grafana/identity-access-team,false,false,false,false
|
||||
awsDatasourcesNewFormStyling,experimental,@grafana/aws-datasources,false,false,false,true
|
||||
cachingOptimizeSerializationMemoryUsage,experimental,@grafana/grafana-operator-experience-squad,false,false,false,false
|
||||
panelTitleSearchInV1,experimental,@grafana/backend-platform,true,false,false,false
|
||||
pluginsInstrumentationStatusSource,experimental,@grafana/plugins-platform-backend,false,false,false,false
|
||||
costManagementUi,experimental,@grafana/databases-frontend,false,false,false,false
|
||||
managedPluginsInstall,experimental,@grafana/plugins-platform-backend,false,false,false,false
|
||||
prometheusPromQAIL,experimental,@grafana/observability-metrics,false,false,false,true
|
||||
addFieldFromCalculationStatFunctions,experimental,@grafana/grafana-bi-squad,false,false,false,true
|
||||
alertmanagerRemoteSecondary,experimental,@grafana/alerting-squad,false,false,false,false
|
||||
alertmanagerRemotePrimary,experimental,@grafana/alerting-squad,false,false,false,false
|
||||
alertmanagerRemoteOnly,experimental,@grafana/alerting-squad,false,false,false,false
|
||||
annotationPermissionUpdate,experimental,@grafana/identity-access-team,false,false,false,false
|
||||
extractFieldsNameDeduplication,experimental,@grafana/grafana-bi-squad,false,false,false,true
|
||||
dashboardSceneForViewers,experimental,@grafana/dashboards-squad,false,false,false,true
|
||||
dashboardScene,experimental,@grafana/dashboards-squad,false,false,false,true
|
||||
panelFilterVariable,experimental,@grafana/dashboards-squad,false,false,false,true
|
||||
pdfTables,privatePreview,@grafana/sharing-squad,false,false,false,false
|
||||
ssoSettingsApi,experimental,@grafana/identity-access-team,true,false,false,false
|
||||
logsInfiniteScrolling,experimental,@grafana/observability-logs,false,false,false,true
|
||||
flameGraphItemCollapsing,experimental,@grafana/observability-traces-and-profiling,false,false,false,true
|
||||
alertingDetailsViewV2,experimental,@grafana/alerting-squad,false,false,false,true
|
||||
datatrails,experimental,@grafana/dashboards-squad,false,false,false,true
|
||||
alertingSimplifiedRouting,experimental,@grafana/alerting-squad,false,false,false,false
|
||||
logRowsPopoverMenu,experimental,@grafana/observability-logs,false,false,false,true
|
||||
pluginsSkipHostEnvVars,experimental,@grafana/plugins-platform-backend,false,false,false,false
|
||||
regressionTransformation,experimental,@grafana/grafana-bi-squad,false,false,false,true
|
||||
displayAnonymousStats,experimental,@grafana/identity-access-team,false,false,false,true
|
||||
Name,Stage,Owner,Created,requiresDevMode,RequiresLicense,RequiresRestart,FrontendOnly
|
||||
disableEnvelopeEncryption,GA,@grafana/grafana-as-code,2022-05-24,false,false,false,false
|
||||
live-service-web-worker,experimental,@grafana/grafana-app-platform-squad,2021-11-09,false,false,false,true
|
||||
queryOverLive,experimental,@grafana/grafana-app-platform-squad,2022-01-05,false,false,false,true
|
||||
panelTitleSearch,preview,@grafana/grafana-app-platform-squad,2022-02-15,false,false,false,false
|
||||
publicDashboards,GA,@grafana/sharing-squad,2022-04-07,false,false,false,false
|
||||
publicDashboardsEmailSharing,preview,@grafana/sharing-squad,2022-12-21,false,true,false,false
|
||||
lokiExperimentalStreaming,experimental,@grafana/observability-logs,2023-06-19,false,false,false,false
|
||||
featureHighlights,GA,@grafana/grafana-as-code,2022-02-03,false,false,false,false
|
||||
migrationLocking,preview,@grafana/backend-platform,2022-02-15,false,false,false,false
|
||||
storage,experimental,@grafana/grafana-app-platform-squad,2022-03-17,false,false,false,false
|
||||
correlations,preview,@grafana/explore-squad,2022-09-16,false,false,false,false
|
||||
exploreContentOutline,GA,@grafana/explore-squad,2023-11-03,false,false,false,true
|
||||
datasourceQueryMultiStatus,experimental,@grafana/plugins-platform-backend,2022-05-03,false,false,false,false
|
||||
traceToMetrics,experimental,@grafana/observability-traces-and-profiling,2022-03-07,false,false,false,true
|
||||
autoMigrateOldPanels,preview,@grafana/dataviz-squad,2022-06-11,false,false,false,true
|
||||
disableAngular,preview,@grafana/dataviz-squad,2023-03-23,false,false,false,true
|
||||
canvasPanelNesting,experimental,@grafana/dataviz-squad,2022-05-31,false,false,false,true
|
||||
newVizTooltips,GA,@grafana/dataviz-squad,2023-11-03,false,false,false,true
|
||||
scenes,experimental,@grafana/dashboards-squad,2022-07-07,false,false,false,true
|
||||
disableSecretsCompatibility,experimental,@grafana/hosted-grafana-team,2022-07-13,false,false,true,false
|
||||
logRequestsInstrumentedAsUnknown,experimental,@grafana/hosted-grafana-team,2022-06-10,false,false,false,false
|
||||
dataConnectionsConsole,GA,@grafana/plugins-platform-backend,2022-06-01,false,false,false,false
|
||||
topnav,deprecated,@grafana/grafana-frontend-platform,2022-06-20,false,false,false,false
|
||||
dockedMegaMenu,experimental,@grafana/grafana-frontend-platform,2023-09-18,false,false,false,true
|
||||
grpcServer,preview,@grafana/grafana-app-platform-squad,2022-09-27,false,false,false,false
|
||||
entityStore,experimental,@grafana/grafana-app-platform-squad,2022-12-01,true,false,false,false
|
||||
cloudWatchCrossAccountQuerying,GA,@grafana/aws-datasources,2022-11-28,false,false,false,false
|
||||
redshiftAsyncQueryDataSupport,GA,@grafana/aws-datasources,2022-08-27,false,false,false,false
|
||||
athenaAsyncQueryDataSupport,GA,@grafana/aws-datasources,2022-08-27,false,false,false,true
|
||||
cloudwatchNewRegionsHandler,experimental,@grafana/aws-datasources,2023-09-25,false,false,false,false
|
||||
showDashboardValidationWarnings,experimental,@grafana/dashboards-squad,2022-10-14,false,false,false,false
|
||||
mysqlAnsiQuotes,experimental,@grafana/backend-platform,2022-10-12,false,false,false,false
|
||||
accessControlOnCall,preview,@grafana/identity-access-team,2022-10-19,false,false,false,false
|
||||
nestedFolders,preview,@grafana/backend-platform,2022-10-22,false,false,false,false
|
||||
nestedFolderPicker,GA,@grafana/grafana-frontend-platform,2023-07-24,false,false,false,true
|
||||
accessTokenExpirationCheck,GA,@grafana/identity-access-team,2022-11-14,false,false,false,false
|
||||
emptyDashboardPage,GA,@grafana/dashboards-squad,2023-03-28,false,false,false,true
|
||||
disablePrometheusExemplarSampling,GA,@grafana/observability-metrics,2022-12-19,false,false,false,false
|
||||
alertingBacktesting,experimental,@grafana/alerting-squad,2022-10-20,false,false,false,false
|
||||
editPanelCSVDragAndDrop,experimental,@grafana/grafana-bi-squad,2022-12-20,false,false,false,true
|
||||
alertingNoNormalState,preview,@grafana/alerting-squad,2023-01-14,false,false,false,false
|
||||
logsContextDatasourceUi,GA,@grafana/observability-logs,2023-01-27,false,false,false,true
|
||||
lokiQuerySplitting,GA,@grafana/observability-logs,2023-02-09,false,false,false,true
|
||||
lokiQuerySplittingConfig,experimental,@grafana/observability-logs,2023-03-20,false,false,false,true
|
||||
individualCookiePreferences,experimental,@grafana/backend-platform,2023-02-23,false,false,false,false
|
||||
prometheusMetricEncyclopedia,GA,@grafana/observability-metrics,2023-03-07,false,false,false,true
|
||||
influxdbBackendMigration,GA,@grafana/observability-metrics,2023-03-15,false,false,false,true
|
||||
influxqlStreamingParser,experimental,@grafana/observability-metrics,2023-11-29,false,false,false,false
|
||||
clientTokenRotation,GA,@grafana/identity-access-team,2023-03-23,false,false,false,false
|
||||
prometheusDataplane,GA,@grafana/observability-metrics,2023-03-29,false,false,false,false
|
||||
lokiMetricDataplane,GA,@grafana/observability-logs,2023-04-13,false,false,false,false
|
||||
lokiLogsDataplane,experimental,@grafana/observability-logs,2023-07-13,false,false,false,false
|
||||
dataplaneFrontendFallback,GA,@grafana/observability-metrics,2023-04-24,false,false,false,true
|
||||
disableSSEDataplane,experimental,@grafana/observability-metrics,2023-04-24,false,false,false,false
|
||||
alertStateHistoryLokiSecondary,experimental,@grafana/alerting-squad,2023-03-30,false,false,false,false
|
||||
alertStateHistoryLokiPrimary,experimental,@grafana/alerting-squad,2023-03-30,false,false,false,false
|
||||
alertStateHistoryLokiOnly,experimental,@grafana/alerting-squad,2023-03-30,false,false,false,false
|
||||
unifiedRequestLog,experimental,@grafana/backend-platform,2023-03-31,false,false,false,false
|
||||
renderAuthJWT,preview,@grafana/grafana-as-code,2023-04-03,false,false,false,false
|
||||
externalServiceAuth,experimental,@grafana/identity-access-team,2023-04-11,true,false,false,false
|
||||
refactorVariablesTimeRange,preview,@grafana/dashboards-squad,2023-06-06,false,false,false,false
|
||||
useCachingService,GA,@grafana/grafana-operator-experience-squad,2023-04-12,false,false,true,false
|
||||
enableElasticsearchBackendQuerying,GA,@grafana/observability-logs,2023-04-14,false,false,false,false
|
||||
advancedDataSourcePicker,GA,@grafana/dashboards-squad,2023-04-14,false,false,false,true
|
||||
faroDatasourceSelector,preview,@grafana/app-o11y,2023-05-04,false,false,false,true
|
||||
enableDatagridEditing,preview,@grafana/grafana-bi-squad,2023-04-24,false,false,false,true
|
||||
extraThemes,experimental,@grafana/grafana-frontend-platform,2023-05-10,false,false,false,true
|
||||
lokiPredefinedOperations,experimental,@grafana/observability-logs,2023-06-02,false,false,false,true
|
||||
pluginsFrontendSandbox,experimental,@grafana/plugins-platform-backend,2023-06-05,false,false,false,true
|
||||
dashboardEmbed,experimental,@grafana/grafana-as-code,2023-07-06,false,false,false,true
|
||||
frontendSandboxMonitorOnly,experimental,@grafana/plugins-platform-backend,2023-07-05,false,false,false,true
|
||||
sqlDatasourceDatabaseSelection,preview,@grafana/grafana-bi-squad,2023-06-06,false,false,false,true
|
||||
lokiFormatQuery,experimental,@grafana/observability-logs,2023-06-21,false,false,false,true
|
||||
cloudWatchLogsMonacoEditor,GA,@grafana/aws-datasources,2023-06-12,false,false,false,true
|
||||
exploreScrollableLogsContainer,experimental,@grafana/observability-logs,2023-06-15,false,false,false,true
|
||||
recordedQueriesMulti,GA,@grafana/observability-metrics,2023-06-14,false,false,false,false
|
||||
pluginsDynamicAngularDetectionPatterns,experimental,@grafana/plugins-platform-backend,2023-06-26,false,false,false,false
|
||||
vizAndWidgetSplit,experimental,@grafana/dashboards-squad,2023-06-27,false,false,false,true
|
||||
prometheusIncrementalQueryInstrumentation,experimental,@grafana/observability-metrics,2023-07-05,false,false,false,true
|
||||
logsExploreTableVisualisation,experimental,@grafana/observability-logs,2023-07-12,false,false,false,true
|
||||
awsDatasourcesTempCredentials,experimental,@grafana/aws-datasources,2023-07-06,false,false,false,false
|
||||
transformationsRedesign,GA,@grafana/observability-metrics,2023-07-12,false,false,false,true
|
||||
mlExpressions,experimental,@grafana/alerting-squad,2023-07-13,false,false,false,false
|
||||
traceQLStreaming,experimental,@grafana/observability-traces-and-profiling,2023-07-26,false,false,false,true
|
||||
metricsSummary,experimental,@grafana/observability-traces-and-profiling,2023-08-28,false,false,false,true
|
||||
grafanaAPIServer,experimental,@grafana/grafana-app-platform-squad,2023-07-14,false,false,false,false
|
||||
grafanaAPIServerWithExperimentalAPIs,experimental,@grafana/grafana-app-platform-squad,2023-10-06,false,false,false,false
|
||||
featureToggleAdminPage,experimental,@grafana/grafana-operator-experience-squad,2023-07-18,false,false,true,false
|
||||
awsAsyncQueryCaching,preview,@grafana/aws-datasources,2023-07-21,false,false,false,false
|
||||
splitScopes,preview,@grafana/identity-access-team,2023-07-21,false,false,true,false
|
||||
traceToProfiles,experimental,@grafana/observability-traces-and-profiling,2023-11-01,false,false,false,true
|
||||
tracesEmbeddedFlameGraph,experimental,@grafana/observability-traces-and-profiling,2023-11-02,false,false,false,true
|
||||
permissionsFilterRemoveSubquery,experimental,@grafana/backend-platform,2023-08-02,false,false,false,false
|
||||
prometheusConfigOverhaulAuth,GA,@grafana/observability-metrics,2023-07-21,false,false,false,false
|
||||
configurableSchedulerTick,experimental,@grafana/alerting-squad,2023-07-26,false,false,true,false
|
||||
influxdbSqlSupport,experimental,@grafana/observability-metrics,2023-08-02,false,false,false,false
|
||||
alertingNoDataErrorExecution,privatePreview,@grafana/alerting-squad,2023-08-15,false,false,true,false
|
||||
angularDeprecationUI,experimental,@grafana/plugins-platform-backend,2023-08-29,false,false,false,true
|
||||
dashgpt,preview,@grafana/dashboards-squad,2023-11-17,false,false,false,true
|
||||
reportingRetries,preview,@grafana/sharing-squad,2023-08-31,false,false,true,false
|
||||
sseGroupByDatasource,experimental,@grafana/observability-metrics,2023-09-07,false,false,false,false
|
||||
requestInstrumentationStatusSource,experimental,@grafana/plugins-platform-backend,2023-09-11,false,false,false,false
|
||||
libraryPanelRBAC,experimental,@grafana/dashboards-squad,2023-10-11,false,false,true,false
|
||||
lokiRunQueriesInParallel,privatePreview,@grafana/observability-logs,2023-09-19,false,false,false,false
|
||||
wargamesTesting,experimental,@grafana/hosted-grafana-team,2023-09-13,false,false,false,false
|
||||
alertingInsights,GA,@grafana/alerting-squad,2023-09-14,false,false,false,true
|
||||
externalCorePlugins,experimental,@grafana/plugins-platform-backend,2023-09-22,false,false,false,false
|
||||
pluginsAPIMetrics,experimental,@grafana/plugins-platform-backend,2023-09-21,false,false,false,true
|
||||
httpSLOLevels,experimental,@grafana/hosted-grafana-team,2023-09-22,false,false,true,false
|
||||
idForwarding,experimental,@grafana/identity-access-team,2023-09-25,true,false,false,false
|
||||
cloudWatchWildCardDimensionValues,GA,@grafana/aws-datasources,2023-09-27,false,false,false,false
|
||||
externalServiceAccounts,experimental,@grafana/identity-access-team,2023-09-28,true,false,false,false
|
||||
panelMonitoring,experimental,@grafana/dataviz-squad,2023-10-08,false,false,false,true
|
||||
enableNativeHTTPHistogram,experimental,@grafana/hosted-grafana-team,2023-10-03,false,false,false,false
|
||||
formatString,experimental,@grafana/grafana-bi-squad,2023-10-13,false,false,false,true
|
||||
transformationsVariableSupport,preview,@grafana/grafana-bi-squad,2023-10-04,false,false,false,true
|
||||
kubernetesPlaylists,experimental,@grafana/grafana-app-platform-squad,2023-11-08,false,false,true,false
|
||||
cloudWatchBatchQueries,preview,@grafana/aws-datasources,2023-10-20,false,false,false,false
|
||||
recoveryThreshold,experimental,@grafana/alerting-squad,2023-10-10,false,false,true,false
|
||||
lokiStructuredMetadata,experimental,@grafana/observability-logs,2023-11-16,false,false,false,false
|
||||
teamHttpHeaders,experimental,@grafana/identity-access-team,2023-10-17,false,false,false,false
|
||||
awsDatasourcesNewFormStyling,experimental,@grafana/aws-datasources,2023-10-12,false,false,false,true
|
||||
cachingOptimizeSerializationMemoryUsage,experimental,@grafana/grafana-operator-experience-squad,2023-10-12,false,false,false,false
|
||||
panelTitleSearchInV1,experimental,@grafana/backend-platform,2023-10-13,true,false,false,false
|
||||
pluginsInstrumentationStatusSource,experimental,@grafana/plugins-platform-backend,2023-10-17,false,false,false,false
|
||||
costManagementUi,experimental,@grafana/databases-frontend,2023-10-17,false,false,false,false
|
||||
managedPluginsInstall,experimental,@grafana/plugins-platform-backend,2023-10-18,false,false,false,false
|
||||
prometheusPromQAIL,experimental,@grafana/observability-metrics,2023-10-19,false,false,false,true
|
||||
addFieldFromCalculationStatFunctions,experimental,@grafana/grafana-bi-squad,2023-11-03,false,false,false,true
|
||||
alertmanagerRemoteSecondary,experimental,@grafana/alerting-squad,2023-10-30,false,false,false,false
|
||||
alertmanagerRemotePrimary,experimental,@grafana/alerting-squad,2023-10-30,false,false,false,false
|
||||
alertmanagerRemoteOnly,experimental,@grafana/alerting-squad,2023-10-30,false,false,false,false
|
||||
annotationPermissionUpdate,experimental,@grafana/identity-access-team,2023-10-31,false,false,false,false
|
||||
extractFieldsNameDeduplication,experimental,@grafana/grafana-bi-squad,2023-11-02,false,false,false,true
|
||||
dashboardSceneForViewers,experimental,@grafana/dashboards-squad,2023-11-02,false,false,false,true
|
||||
dashboardScene,experimental,@grafana/dashboards-squad,2023-11-13,false,false,false,true
|
||||
panelFilterVariable,experimental,@grafana/dashboards-squad,2023-11-03,false,false,false,true
|
||||
pdfTables,privatePreview,@grafana/sharing-squad,2023-11-06,false,false,false,false
|
||||
ssoSettingsApi,experimental,@grafana/identity-access-team,2023-11-08,true,false,false,false
|
||||
logsInfiniteScrolling,experimental,@grafana/observability-logs,2023-11-09,false,false,false,true
|
||||
flameGraphItemCollapsing,experimental,@grafana/observability-traces-and-profiling,2023-11-09,false,false,false,true
|
||||
alertingDetailsViewV2,experimental,@grafana/alerting-squad,2023-11-09,false,false,false,true
|
||||
datatrails,experimental,@grafana/dashboards-squad,2023-11-15,false,false,false,true
|
||||
alertingSimplifiedRouting,experimental,@grafana/alerting-squad,2023-11-10,false,false,false,false
|
||||
logRowsPopoverMenu,experimental,@grafana/observability-logs,2023-11-16,false,false,false,true
|
||||
pluginsSkipHostEnvVars,experimental,@grafana/plugins-platform-backend,2023-11-15,false,false,false,false
|
||||
regressionTransformation,experimental,@grafana/grafana-bi-squad,2023-11-24,false,false,false,true
|
||||
displayAnonymousStats,experimental,@grafana/identity-access-team,2023-11-29,false,false,false,true
|
||||
|
|
@ -11,6 +11,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/olekukonko/tablewriter"
|
||||
@ -25,7 +26,6 @@ func TestFeatureToggleFiles(t *testing.T) {
|
||||
"service-accounts": true,
|
||||
"database_metrics": true,
|
||||
"live-service-web-worker": true,
|
||||
"k8s": true, // Camel case does not like this one
|
||||
}
|
||||
|
||||
t.Run("check registry constraints", func(t *testing.T) {
|
||||
@ -51,6 +51,10 @@ func TestFeatureToggleFiles(t *testing.T) {
|
||||
if flag.AllowSelfServe != nil && flag.Stage != FeatureStageGeneralAvailability {
|
||||
t.Errorf("only allow self-serving GA toggles")
|
||||
}
|
||||
if flag.Created.Year() < 2021 {
|
||||
t.Errorf("flag requires a reasonable created date. See: %s (%s)",
|
||||
flag.Name, flag.Created.Format(time.DateOnly))
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@ -216,8 +220,9 @@ func generateCSV() string {
|
||||
w := csv.NewWriter(&buf)
|
||||
if err := w.Write([]string{
|
||||
"Name",
|
||||
"Stage", //flag.Stage.String(),
|
||||
"Owner", //string(flag.Owner),
|
||||
"Stage", //flag.Stage.String(),
|
||||
"Owner", //string(flag.Owner),
|
||||
"Created",
|
||||
"requiresDevMode", //strconv.FormatBool(flag.RequiresDevMode),
|
||||
"RequiresLicense", //strconv.FormatBool(flag.RequiresLicense),
|
||||
"RequiresRestart", //strconv.FormatBool(flag.RequiresRestart),
|
||||
@ -226,11 +231,19 @@ func generateCSV() string {
|
||||
log.Fatalln("error writing record to csv:", err)
|
||||
}
|
||||
|
||||
dateFormatter := func(t time.Time) string {
|
||||
if t.Year() < 2020 { // fake year
|
||||
return ""
|
||||
}
|
||||
return t.Format(time.DateOnly)
|
||||
}
|
||||
|
||||
for _, flag := range standardFeatureFlags {
|
||||
if err := w.Write([]string{
|
||||
flag.Name,
|
||||
flag.Stage.String(),
|
||||
string(flag.Owner),
|
||||
dateFormatter(flag.Created),
|
||||
strconv.FormatBool(flag.RequiresDevMode),
|
||||
strconv.FormatBool(flag.RequiresLicense),
|
||||
strconv.FormatBool(flag.RequiresRestart),
|
||||
|
Loading…
Reference in New Issue
Block a user