Draft: Enable budget_caps_graphql_api feature flag by default

What does this MR do and why?

Enables the budget_caps_graphql_api feature flag by default, making the budget caps GraphQL query and mutations available to all users without manual feature flag enablement.

Blocked by: !230224 (merged) (flat user cap mutation), !230222 (merged) (user overrides mutation) — must merge first.

Related to https://gitlab.com/gitlab-org/gitlab/-/issues/595491

Stacked MR

# MR Description Status
1 !230214 (merged) Foundation — feature flag + client + shared concern Merged
2 !230218 (merged) Query — budget caps read API (BudgetCapsType, UserOverrideType, PORO) Merged
3 !230224 (merged) Mutation — upsert flat user cap In review
4 !230222 (merged) Mutation — upsert user budget cap overrides In review
5 This MR Enable feature flag by default (draft, blocked by 3-4) You are here

E2E Validation

After all MR1-4 are merged and this MR enables the flag:

  1. SaaS — Log in as namespace owner, open GraphiQL at /-/graphql-explorer
  2. Run the budget caps query for a namespace with seeded data
  3. Confirm flatUserCap and userOverrides return expected values
  4. Run upsertFlatUserCap mutation and verify it updates
  5. Run upsertUserBudgetCapOverrides mutation and verify it creates/updates overrides
  6. Self-Managed — Log in as admin, enable admin mode at /admin, then repeat steps 2-5 without namespacePath

Note: On Self-Managed, admin mode must be active for the session. The admin policy condition in BasePolicy requires both user.admin? and Gitlab::Auth::CurrentUserMode#admin_mode?. PAT-authenticated API requests bypass this automatically via sessionless_bypass_admin_mode!.

Edited by Suraj Tripathi

Merge request reports

Loading