mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
IAM: Remove fully rolled out feature toggles (#83308)
* remove anon stat ft * remove split scope flag * remove feature toggle from frontend
This commit is contained in:
@@ -54,7 +54,6 @@ Some features are enabled by default. You can disable these feature by setting t
|
|||||||
| `recoveryThreshold` | Enables feature recovery threshold (aka hysteresis) for threshold server-side expression | Yes |
|
| `recoveryThreshold` | Enables feature recovery threshold (aka hysteresis) for threshold server-side expression | Yes |
|
||||||
| `lokiStructuredMetadata` | Enables the loki data source to request structured metadata from the Loki server | Yes |
|
| `lokiStructuredMetadata` | Enables the loki data source to request structured metadata from the Loki server | Yes |
|
||||||
| `logRowsPopoverMenu` | Enable filtering menu displayed when text of a log line is selected | Yes |
|
| `logRowsPopoverMenu` | Enable filtering menu displayed when text of a log line is selected | Yes |
|
||||||
| `displayAnonymousStats` | Enables anonymous stats to be shown in the UI for Grafana | Yes |
|
|
||||||
| `lokiQueryHints` | Enables query hints for Loki | Yes |
|
| `lokiQueryHints` | Enables query hints for Loki | Yes |
|
||||||
| `alertingPreviewUpgrade` | Show Unified Alerting preview and upgrade page in legacy alerting | Yes |
|
| `alertingPreviewUpgrade` | Show Unified Alerting preview and upgrade page in legacy alerting | Yes |
|
||||||
| `alertingQueryOptimization` | Optimizes eligible queries in order to reduce load on datasources | |
|
| `alertingQueryOptimization` | Optimizes eligible queries in order to reduce load on datasources | |
|
||||||
|
|||||||
@@ -105,7 +105,6 @@ export interface FeatureToggles {
|
|||||||
grafanaAPIServerEnsureKubectlAccess?: boolean;
|
grafanaAPIServerEnsureKubectlAccess?: boolean;
|
||||||
featureToggleAdminPage?: boolean;
|
featureToggleAdminPage?: boolean;
|
||||||
awsAsyncQueryCaching?: boolean;
|
awsAsyncQueryCaching?: boolean;
|
||||||
splitScopes?: boolean;
|
|
||||||
permissionsFilterRemoveSubquery?: boolean;
|
permissionsFilterRemoveSubquery?: boolean;
|
||||||
prometheusConfigOverhaulAuth?: boolean;
|
prometheusConfigOverhaulAuth?: boolean;
|
||||||
configurableSchedulerTick?: boolean;
|
configurableSchedulerTick?: boolean;
|
||||||
@@ -162,7 +161,6 @@ export interface FeatureToggles {
|
|||||||
pluginsSkipHostEnvVars?: boolean;
|
pluginsSkipHostEnvVars?: boolean;
|
||||||
tableSharedCrosshair?: boolean;
|
tableSharedCrosshair?: boolean;
|
||||||
regressionTransformation?: boolean;
|
regressionTransformation?: boolean;
|
||||||
displayAnonymousStats?: boolean;
|
|
||||||
lokiQueryHints?: boolean;
|
lokiQueryHints?: boolean;
|
||||||
kubernetesFeatureToggles?: boolean;
|
kubernetesFeatureToggles?: boolean;
|
||||||
alertingPreviewUpgrade?: boolean;
|
alertingPreviewUpgrade?: boolean;
|
||||||
|
|||||||
@@ -649,16 +649,6 @@ var (
|
|||||||
Expression: "true", // enabled by default
|
Expression: "true", // enabled by default
|
||||||
Owner: awsDatasourcesSquad,
|
Owner: awsDatasourcesSquad,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Name: "splitScopes",
|
|
||||||
Description: "Support faster dashboard and folder search by splitting permission scopes into parts",
|
|
||||||
Stage: FeatureStageDeprecated,
|
|
||||||
FrontendOnly: false,
|
|
||||||
Expression: "true", // enabled by default
|
|
||||||
Owner: identityAccessTeam,
|
|
||||||
RequiresRestart: true,
|
|
||||||
HideFromAdminPage: true, // This is internal work to speed up dashboard search, and is not ready for wider use
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
Name: "permissionsFilterRemoveSubquery",
|
Name: "permissionsFilterRemoveSubquery",
|
||||||
Description: "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder",
|
Description: "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder",
|
||||||
@@ -1068,15 +1058,6 @@ var (
|
|||||||
FrontendOnly: true,
|
FrontendOnly: true,
|
||||||
Owner: grafanaDatavizSquad,
|
Owner: grafanaDatavizSquad,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Name: "displayAnonymousStats",
|
|
||||||
Description: "Enables anonymous stats to be shown in the UI for Grafana",
|
|
||||||
Stage: FeatureStageGeneralAvailability,
|
|
||||||
FrontendOnly: true,
|
|
||||||
Owner: identityAccessTeam,
|
|
||||||
AllowSelfServe: false,
|
|
||||||
Expression: "true", // enabled by default
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
// this is mainly used a a way to quickly disable query hints as a safe guard for our infrastructure
|
// this is mainly used a a way to quickly disable query hints as a safe guard for our infrastructure
|
||||||
Name: "lokiQueryHints",
|
Name: "lokiQueryHints",
|
||||||
|
|||||||
@@ -86,7 +86,6 @@ grafanaAPIServerWithExperimentalAPIs,experimental,@grafana/grafana-app-platform-
|
|||||||
grafanaAPIServerEnsureKubectlAccess,experimental,@grafana/grafana-app-platform-squad,true,true,false
|
grafanaAPIServerEnsureKubectlAccess,experimental,@grafana/grafana-app-platform-squad,true,true,false
|
||||||
featureToggleAdminPage,experimental,@grafana/grafana-operator-experience-squad,false,true,false
|
featureToggleAdminPage,experimental,@grafana/grafana-operator-experience-squad,false,true,false
|
||||||
awsAsyncQueryCaching,GA,@grafana/aws-datasources,false,false,false
|
awsAsyncQueryCaching,GA,@grafana/aws-datasources,false,false,false
|
||||||
splitScopes,deprecated,@grafana/identity-access-team,false,true,false
|
|
||||||
permissionsFilterRemoveSubquery,experimental,@grafana/backend-platform,false,false,false
|
permissionsFilterRemoveSubquery,experimental,@grafana/backend-platform,false,false,false
|
||||||
prometheusConfigOverhaulAuth,GA,@grafana/observability-metrics,false,false,false
|
prometheusConfigOverhaulAuth,GA,@grafana/observability-metrics,false,false,false
|
||||||
configurableSchedulerTick,experimental,@grafana/alerting-squad,false,true,false
|
configurableSchedulerTick,experimental,@grafana/alerting-squad,false,true,false
|
||||||
@@ -143,7 +142,6 @@ logRowsPopoverMenu,GA,@grafana/observability-logs,false,false,true
|
|||||||
pluginsSkipHostEnvVars,experimental,@grafana/plugins-platform-backend,false,false,false
|
pluginsSkipHostEnvVars,experimental,@grafana/plugins-platform-backend,false,false,false
|
||||||
tableSharedCrosshair,experimental,@grafana/dataviz-squad,false,false,true
|
tableSharedCrosshair,experimental,@grafana/dataviz-squad,false,false,true
|
||||||
regressionTransformation,preview,@grafana/dataviz-squad,false,false,true
|
regressionTransformation,preview,@grafana/dataviz-squad,false,false,true
|
||||||
displayAnonymousStats,GA,@grafana/identity-access-team,false,false,true
|
|
||||||
lokiQueryHints,GA,@grafana/observability-logs,false,false,true
|
lokiQueryHints,GA,@grafana/observability-logs,false,false,true
|
||||||
kubernetesFeatureToggles,experimental,@grafana/grafana-operator-experience-squad,false,false,true
|
kubernetesFeatureToggles,experimental,@grafana/grafana-operator-experience-squad,false,false,true
|
||||||
alertingPreviewUpgrade,GA,@grafana/alerting-squad,false,true,false
|
alertingPreviewUpgrade,GA,@grafana/alerting-squad,false,true,false
|
||||||
|
|||||||
|
@@ -355,10 +355,6 @@ const (
|
|||||||
// Enable caching for async queries for Redshift and Athena. Requires that the datasource has caching and async query support enabled
|
// Enable caching for async queries for Redshift and Athena. Requires that the datasource has caching and async query support enabled
|
||||||
FlagAwsAsyncQueryCaching = "awsAsyncQueryCaching"
|
FlagAwsAsyncQueryCaching = "awsAsyncQueryCaching"
|
||||||
|
|
||||||
// FlagSplitScopes
|
|
||||||
// Support faster dashboard and folder search by splitting permission scopes into parts
|
|
||||||
FlagSplitScopes = "splitScopes"
|
|
||||||
|
|
||||||
// FlagPermissionsFilterRemoveSubquery
|
// FlagPermissionsFilterRemoveSubquery
|
||||||
// Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder
|
// Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder
|
||||||
FlagPermissionsFilterRemoveSubquery = "permissionsFilterRemoveSubquery"
|
FlagPermissionsFilterRemoveSubquery = "permissionsFilterRemoveSubquery"
|
||||||
@@ -583,10 +579,6 @@ const (
|
|||||||
// Enables regression analysis transformation
|
// Enables regression analysis transformation
|
||||||
FlagRegressionTransformation = "regressionTransformation"
|
FlagRegressionTransformation = "regressionTransformation"
|
||||||
|
|
||||||
// FlagDisplayAnonymousStats
|
|
||||||
// Enables anonymous stats to be shown in the UI for Grafana
|
|
||||||
FlagDisplayAnonymousStats = "displayAnonymousStats"
|
|
||||||
|
|
||||||
// FlagLokiQueryHints
|
// FlagLokiQueryHints
|
||||||
// Enables query hints for Loki
|
// Enables query hints for Loki
|
||||||
FlagLokiQueryHints = "lokiQueryHints"
|
FlagLokiQueryHints = "lokiQueryHints"
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
"name": "pluginsInstrumentationStatusSource",
|
"name": "pluginsInstrumentationStatusSource",
|
||||||
"resourceVersion": "1708108588074",
|
"resourceVersion": "1708108588074",
|
||||||
"creationTimestamp": "2024-02-16T18:36:28Z",
|
"creationTimestamp": "2024-02-16T18:36:28Z",
|
||||||
"deletionTimestamp": "2024-02-19T14:18:02Z"
|
"deletionTimestamp": "2024-02-23T13:23:30Z"
|
||||||
},
|
},
|
||||||
"spec": {
|
"spec": {
|
||||||
"description": "Include a status source label for plugin request metrics and logs",
|
"description": "Include a status source label for plugin request metrics and logs",
|
||||||
@@ -510,7 +510,8 @@
|
|||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "displayAnonymousStats",
|
"name": "displayAnonymousStats",
|
||||||
"resourceVersion": "1708108588074",
|
"resourceVersion": "1708108588074",
|
||||||
"creationTimestamp": "2024-02-16T18:36:28Z"
|
"creationTimestamp": "2024-02-16T18:36:28Z",
|
||||||
|
"deletionTimestamp": "2024-02-23T13:23:30Z"
|
||||||
},
|
},
|
||||||
"spec": {
|
"spec": {
|
||||||
"description": "Enables anonymous stats to be shown in the UI for Grafana",
|
"description": "Enables anonymous stats to be shown in the UI for Grafana",
|
||||||
@@ -1399,7 +1400,7 @@
|
|||||||
"name": "traceToMetrics",
|
"name": "traceToMetrics",
|
||||||
"resourceVersion": "1708108588074",
|
"resourceVersion": "1708108588074",
|
||||||
"creationTimestamp": "2024-02-16T18:36:28Z",
|
"creationTimestamp": "2024-02-16T18:36:28Z",
|
||||||
"deletionTimestamp": "2024-02-16T10:09:14Z"
|
"deletionTimestamp": "2024-02-23T13:23:30Z"
|
||||||
},
|
},
|
||||||
"spec": {
|
"spec": {
|
||||||
"description": "Enable trace to metrics links",
|
"description": "Enable trace to metrics links",
|
||||||
@@ -1527,7 +1528,8 @@
|
|||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "splitScopes",
|
"name": "splitScopes",
|
||||||
"resourceVersion": "1708108588074",
|
"resourceVersion": "1708108588074",
|
||||||
"creationTimestamp": "2024-02-16T18:36:28Z"
|
"creationTimestamp": "2024-02-16T18:36:28Z",
|
||||||
|
"deletionTimestamp": "2024-02-23T13:23:30Z"
|
||||||
},
|
},
|
||||||
"spec": {
|
"spec": {
|
||||||
"description": "Support faster dashboard and folder search by splitting permission scopes into parts",
|
"description": "Support faster dashboard and folder search by splitting permission scopes into parts",
|
||||||
@@ -2130,4 +2132,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -51,7 +51,6 @@ describe('ServerStats', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Should render page with anonymous stats', async () => {
|
it('Should render page with anonymous stats', async () => {
|
||||||
config.featureToggles.displayAnonymousStats = true;
|
|
||||||
config.anonymousEnabled = true;
|
config.anonymousEnabled = true;
|
||||||
config.anonymousDeviceLimit = 10;
|
config.anonymousDeviceLimit = 10;
|
||||||
render(<ServerStats />);
|
render(<ServerStats />);
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ export const ServerStats = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const getAnonymousStatsContent = (stats: ServerStat | null, config: GrafanaBootConfig) => {
|
const getAnonymousStatsContent = (stats: ServerStat | null, config: GrafanaBootConfig) => {
|
||||||
if (!config.anonymousEnabled || !config.featureToggles.displayAnonymousStats || !stats?.activeDevices) {
|
if (!config.anonymousEnabled || !stats?.activeDevices) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
if (!config.anonymousDeviceLimit) {
|
if (!config.anonymousDeviceLimit) {
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ export default function UserListPage() {
|
|||||||
onChangeTab={() => setView(TabView.ORG)}
|
onChangeTab={() => setView(TabView.ORG)}
|
||||||
data-testid={selectors.tabs.orgUsers}
|
data-testid={selectors.tabs.orgUsers}
|
||||||
/>
|
/>
|
||||||
{config.anonymousEnabled && config.featureToggles.displayAnonymousStats && (
|
{config.anonymousEnabled && (
|
||||||
<Tab
|
<Tab
|
||||||
label="Anonymous devices"
|
label="Anonymous devices"
|
||||||
active={view === TabView.ANON}
|
active={view === TabView.ANON}
|
||||||
|
|||||||
Reference in New Issue
Block a user