Fix feature_category attribution for Secrets Manager GraphQL requests

Why this MR ?

  • feature_category attribution for a GraphQL request follows the page it renders on, not the operation
  • Our UI embedded in other teams' pages was recording as the wrong category — Settings > General enrollment and permissions and the delete-confirmation modal as groups_and_projects, the Admin instance-enrollment toggle as not_owned
  • So our GraphQL traffic lands in other teams' error budgets and is missing from our own secrets_management dashboards
  • Part of Fix issues in the Secrets Manager alerting and SLO setup

What does this MR do ?

  • Adds context: { featureCategory: 'secrets_management' } to 16 Apollo call sites across 6 Vue files
  • Leaves ee/app/assets/javascripts/ci/secrets/ alone — the Secrets page controllers already declare feature_category :secrets_management, so those calls were already correct
  • Adds the missing # @feature_category: secrets_management directive to the 5 .graphql files that lacked it. The other 32 already had it
  • Removes all 16 Secrets Manager entries from .eslint_todo/local-rules-graphql-require-feature-category.mjs. That list was stale — 5 named deleted files, 6 named files that had already become compliant, and the last 5 are fixed here. No Secrets Manager .graphql file is suppressed now
  • The permissions modal's member picker runs a shared query — project_user_members_search.query.graphql and its group twin — that 5 other features use without overriding. Overriding it here is deliberate: the search only runs because our modal opened, so its latency counts against secrets_management

Testing

  • ESLint clean on the 6 changed .vue files, and on all 37 Secrets Manager .graphql files with the rule no longer suppressed
  • Negative control: deleted a directive, confirmed ESLint failed, restored it. So the rule really is live on those paths now
  • prettier --check clean on all 11 changed .vue and .graphql files
  • Jest green — 9 suites / 294 tests (permissions, delete modal, admin enrollment) and 18 suites / 501 tests (ee/spec/frontend/ci/secrets)
  • Not verified in a browser. I have not watched the x-gitlab-feature-category header change on a live request

References

Edited by Jayakrishnan Mallissery

Merge request reports

Loading
Loading