Skip to content

Latest commit

 

History

History
84 lines (67 loc) · 3.12 KB

File metadata and controls

84 lines (67 loc) · 3.12 KB
hip 0007
title Document and Track maintainer groups
authors
Matt Farina <matt@mattfarina.com>
Scott Rigby <scott@r6by.com>
created 2025-10-07
type process
status draft

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