Remove o11y_settings_access flag and gated settings page

What does this MR do?

Removes the group Observability "o11y service settings" page and the o11y_settings_access experiment feature flag that gated it. The page/flag were never rolled out on GitLab.com.

Removed:

  • o11y_settings_access feature flag
  • Groups::Observability::O11yServiceSettingsController + its route and edit view
  • the o11y_settings sidebar menu item (group + super-sidebar placeholder)
  • the now-unused update_o11y_settings / delete_o11y_settings permissions (roles, archived permission group, group policy prevent rule, definitions_todo)
  • the associated specs

Kept:

  • app/views/groups/observability/o11y_service_settings/_form_fields.html.haml — still rendered by the separate experimental observability settings page (Experimental::O11yServiceSettingsController, behind experimental_group_o11y_settings_access), which is out of scope here.

Events / metrics: marked removed, not deleted

The update_o11y_service_settings / visit_o11y_service_settings_page internal events and their two metrics are marked status: removed (events moved to config/events/removed/, metrics kept in place) rather than deleted.

Although the o11y_settings_access flag was never enabled on GitLab.com, a Snowflake check of prod.common_mart.mart_behavior_structured_event shows real usage from self-managed instances (app_id = gitlab_sm) — ~32-37 distinct users across Sept 19-23. Per the metrics and event lifecycle docs, definitions that self-managed instances may still report must be retained as status: removed so Analytics Instrumentation can identify and filter them, rather than deleted outright.

Menu visibility change

The Observability menu previously rendered if o11y_settings_access was on OR (observability_sass_features && read_observability_portal). With the flag gone, it renders only on the latter condition, which is the intended behaviour.

Routing snapshot

config/routing/gitlab_routes.json is regenerated to drop the removed route.

HTTP Router sync (pipeline:skip-router-sync)

This MR removes the /groups/*/-/observability/o11y_service_settings routes, so the cells-routes:router-in-sync job reports drift against the HTTP Router snapshot. Applying pipeline:skip-router-sync because the HTTP Router snapshot on main can only match one GitLab ref at a time and there are paired route-changing MRs in flight; the router will be resynced from master after these merge. The affected routes are an admin/experiment-only tool with no production traffic depending on cell routing.

Edited by Renée Hendricksen

Merge request reports

Loading
Loading