Authorize 4 Hosted Runners GraphQL types for fine-grained tokens
Summary
A fine-grained personal access token is denied the GitLab Dedicated hosted runner usage types below: they declare no authorize_granular_token directive and are still listed in config/authz/graphql/authorization_todo.txt, so ciDedicatedHostedRunnerUsage gives the token no nodes and ciDedicatedHostedRunnerFilters gives it null, even when its user is an administrator of the Dedicated instance who reads them with a legacy token.
As agreed in !267273 (comment 4195231927), I will send this domain's types in one merge request, which closes this issue.
Proposal
read_dedicated_hosted_runner_usageon the instance forCiDedicatedHostedRunnerUsageandCiDedicatedHostedRunnerFilters, the permission both already check for the user, which only an administrator of a GitLab Dedicated instance has.CiDeletedRunneris returned only byCiDedicatedHostedRunnerFilters.deletedRunners, so it declares the permission its parent checks (parent_authorizes:), with a spec for that parent.CiDeletedNamespacedeclaresread_dedicated_hosted_runner_usageon the instance itself, becauseNamespaceUnionreturns it next toNamespace, which has its own directive.
This adds read_dedicated_hosted_runner_usage as an assignable permission on the instance, offered to administrators only. The permission is already in GlobalPolicy, with no definition or assignable permission yet.
Related to #593878.
I found this while working on gitlab-mcp-server.