Split knowledge_graph feature flag for per-user rollout

What does this MR do and why?

Splits the :knowledge_graph feature flag into two flags to fix mixed actor types and enable per-user rollout.

Problem

The :knowledge_graph flag was used with two different actor types:

  • :instance — for infrastructure (event store subscriptions, internal/admin APIs)
  • current_user — for user-facing access (dashboard, sidebar, GraphQL, REST API)

Mixing actor types on a single flag prevents per-user rollout via chatops. Enabling globally (for infra) also enables the UI for everyone, and enabling per-user doesn't activate the infrastructure.

Solution

Split into two flags:

Flag Type Actor Purpose
:knowledge_graph beta current_user Gates user-facing Orbit UI and API access. Supports gradual per-user rollout via chatops.
:knowledge_graph_infra ops :instance Gates background event subscriptions (cache expiry workers) and internal/admin APIs.

Rollout strategy

  1. Enable :knowledge_graph_infra at the instance level on staging
  2. Gradually roll out :knowledge_graph to users via chatops

References

Edited by Michael Angelo Rivera

Merge request reports

Loading