Allow developers invited through group to read group runners
What does this MR do and why?
This MR adjusts the Ci::RunnerPolicy to allow developers to read runners (:read_runner) and runner managers (:read_runner_manager) associated with groups on which they are developers, either directly or indirectly.
Changelog: fixed
Fixes #364094 (closed)
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
| Before | After |
|---|---|
|
|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
The goal will be to create a runner on a group (top-level/group-with-runners) on which a user is not directly a maintainer. This is currently not allowed on master. Instructions created with inspiration from #364094 (comment 1183794964).
-
Ensure a minimum of two users exist. For this example I refer to them as
rootanduser. -
As
root, create the following groups/subgroups (none of these are projects):top-leveltop-level/group-with-runnersuser-managementuser-management/admins
-
As
root, inviteusertouser-management/adminswith the Max Role ofOwner. -
As
root, Invite subgroupuser-management/adminstotop-levelwith the Max Role ofOwner. -
As
root, Configure a Runner ontop-level/group-with-runners -
As
root, impersonateuser. -
While impersonating
user, navigate totop-level/group-with-runners. -
While impersonating
user, confirm that you have Owner-level control to manage the Group (such as being able to see and change Settings). -
While impersonating
user, navigate toBuild → Runners. Confirm that the Runner cannot be managed, but the number of Runners registered is displayed:
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.


