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