본문으로 건너뛰기

Document and Track maintainer groups

HIPTitleAuthor(s)CreatedTypeStatus
0007Document and Track maintainer groupsMatt Farina matt@mattfarina.com, Scott Rigby scott@r6by.com2025-10-07processdraft

Abstract

There are numerous Helm maintainer groups where each can have zero or more Git repositories associated with them. This process provides a centralized method to document and track the maintainer groups, maintainers, and associated repos.

Motivation

The current design uses a collection of documented and access controls to track this information while there are several gaps in the information. The Teams.md file attempted to track the different teams (i.e. maintainer groups, the org maintainers, etc).

The repositories owned by a maintainer group, and the members of a group are not documented but are instead tracked via GitHub teams. The owners are scattered in various locations that are not consistent. In some cases they cannot be consistent (e.g. community management which does not have a GitHub repo). This has lead to confusion with the Org Maintainers and others.

Rationale

There is currently no consistent manner to document the codebases associated with a maintainer group or the members of a maintainer group. There are two examples we can look at for this situation.

First, there are maintainer groups responsible for multiple repositories. Charts and the Org maintainers groups are two examples with multiple repositories. There is no location to publicly document this situation.

Second, not all maintainer groups own a repository. Community management is an example of a maintainer group that does a significant amount of work without owning a source repository.

This HIP aims to provide a single source of document to discover maintainer group repositories and owners.

Specification

The source of truth will be a YAML file name maintainer-groups.yaml stored at the root of the Helm community repository. It will have the following structure:

maintainerGroups:
- name: Helm Core
ownersLink: https://raw.githubusercontent.com/helm/helm/master/OWNERS
repos:
- https://github.com/helm/helm
mailingList: cncf-helm-core-maintainers@lists.cncf.io
- name: Charts
owners:
- unguiculus
- ...
emeritus:
- foxish
- ...
repos:
- https://github.com/helm/chart-releaser-action
- https://github.com/helm/charts-repo-actions-demo
- ...

A maintainer group can only have either ownersLink (a URL to the location of the owners list) or owners (a list of owners). It cannot have both. This enables those who do not have a Git repo (e.g., community managers) and those with multiple repos and no primary one (e.g., charts) to have a documented list.

When owners is used it can have an accompanying emeritus. When ownersLink is used the emeritus is expected to be listed in that file.

References