Add a "maintenance notes" field in Runner configuration
Release notes
There is no way to trace a runner back to an owner or maintainer today, as there is no owner field attached. That is important when there are problems arising with the runner or when there's a reorganization of a team and notes need to be left about the runner configuration. As a first step, we will add a maintenance notes field when editing a runner's details so teams can add notes. Other members will be able to see those notes when viewing the runner details.
Problem to solve
I'd like to propose adding a field like maintenance notes
to the Runner configuration in GitLab. Field visible only on the settings pages so accessible only for the people who can change the configuration.
What would be it's purpose?
Just like in the user admin settings we have a field Admin notes
. It allows the administrator to leave a note for other administrators about the specific user. The number of use-cases for such note is probably endless, but out of the top of my mind: describing why/when someone have been promoted to be an instance admin; describe why a user got blocked or banned.
The maintenance notes
for the Runner would have the same purpose - to allow maintainers of a particular runner (and usually there can be many of them) to organize a work and share the knowledge.
For example: at GitLab.com we have group runners available for our own groups like gitlab-org
and gitlab-com
. Some of these group runners are part of our managed fleet, assigned to the private
shard and managed by the Runner group. However, anyone who is an owner
of one of these groups will have access to these runners and will be able to change any of the settings. While there are settings that should not be changed.
Instead of relaying on someones memory or hoping that everyone knows 100% of our handbook and is up-to-date with any change being added there, I'd prefer to leave a note saying that This Runner is managed by g_runner group. In case a configuration change is needed, please open an issue at https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/new with the change proposal, label it with ~"Service::CI Runners" and ping #f_linux_shared_runners channel on Slack.
Such field of course should be visible to anyone who can edit the runner - not only the instance administrator
Intended users
Metrics
Track how many users are filling that field out.
User experience goal
Allow a way for a team to designate a contact for a runner or leave configuration notes.
Proposal
Implementation Proposal
-
backend Add maintainer_note field to CI runners table (!77767 - merged); -
backend Expose maintenance_note
field in GraphQLRunnerType
(!87534 (merged)); -
backend Expose maintenance_note
in update mutation in GraphQLRunnerType
(!87576 (merged)); -
frontend Expose maintenance_note
field in Edit view (pending design work); -
frontend Expose maintenance_note
field in Read view (pending design work); -
backend Accept maintainer_note parameter in REST runner... (!77779 - merged); -
backend Leverage REST API to add support for setting notes upon runner registration (gitlab-runner!3268 (merged)).
Further details
Development tasks for features with a design component:
-
Does this feature require a UX designer to create a mockup? If yes then add the workflowready for design label. -
Create design @gdoyle -
Review design with front end and backend developers. (async preferred) -
Front end and backend developers validate the work required to implement the design and update the issue with an Implementation Proposal section
Permissions and Security
Documentation
Availability & Testing
Available Tier
- Ultimate/Gold
What does success look like, and how can we measure that?
What is the type of buyer?
Is this a cross-stage feature?
Links / references
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.