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:
Jo
2024-02-23 16:53:37 +01:00
committed by GitHub
parent bbe9c8661a
commit b2601d71d5
9 changed files with 9 additions and 40 deletions

View File

@@ -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 | |

View File

@@ -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;

View File

@@ -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",

View File

@@ -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
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
86 grafanaAPIServerEnsureKubectlAccess experimental @grafana/grafana-app-platform-squad true true false
87 featureToggleAdminPage experimental @grafana/grafana-operator-experience-squad false true false
88 awsAsyncQueryCaching GA @grafana/aws-datasources false false false
splitScopes deprecated @grafana/identity-access-team false true false
89 permissionsFilterRemoveSubquery experimental @grafana/backend-platform false false false
90 prometheusConfigOverhaulAuth GA @grafana/observability-metrics false false false
91 configurableSchedulerTick experimental @grafana/alerting-squad false true false
142 pluginsSkipHostEnvVars experimental @grafana/plugins-platform-backend false false false
143 tableSharedCrosshair experimental @grafana/dataviz-squad false false true
144 regressionTransformation preview @grafana/dataviz-squad false false true
displayAnonymousStats GA @grafana/identity-access-team false false true
145 lokiQueryHints GA @grafana/observability-logs false false true
146 kubernetesFeatureToggles experimental @grafana/grafana-operator-experience-squad false false true
147 alertingPreviewUpgrade GA @grafana/alerting-squad false true false

View File

@@ -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"

View File

@@ -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 @@
} }
} }
] ]
} }

View File

@@ -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 />);

View File

@@ -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) {

View File

@@ -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}