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:
- SaaS — Log in as namespace owner, open GraphiQL at
/-/graphql-explorer - Run the budget caps query for a namespace with seeded data
- Confirm
flatUserCapanduserOverridesreturn expected values - Run
upsertFlatUserCapmutation and verify it updates - Run
upsertUserBudgetCapOverridesmutation and verify it creates/updates overrides - Self-Managed — Log in as admin, enable admin mode at
/admin, then repeat steps 2-5 withoutnamespacePath
Note: On Self-Managed, admin mode must be active for the session. The
adminpolicy condition inBasePolicyrequires bothuser.admin?andGitlab::Auth::CurrentUserMode#admin_mode?. PAT-authenticated API requests bypass this automatically viasessionless_bypass_admin_mode!.
Edited by Suraj Tripathi