The Kubernetes project uses Github extensively to store and organize code, manage issues and documentation, and provide a consistent contributor flow.
With the size and growth of the Kubernetes project, management of our Github footprint has historically been a challenge. We have created a number of policies to reduce friction and ease administration of our Github repositories and organizations. We have also created a number of tools to automate setup and enforcement of these policies.
These polices are overseen by the GitHub Management subproject of the Contributor Experience Special Interest Group.
- Opening a request for assistance with GitHub
- Organization Owners Guide
- Repository Creation Guidelines
- Setting up the CNCF CLA Check
- GitHub Permissions
In order to manage the various organizations that the Kubernetes project owns, we have a GitHub Administration team that is responsible for carrying out the various tasks.
This team (@kubernetes/owners) is as follows:
- Aaron Crickenberger (@spiffxp, US Pacific)
- Bob Killen (@mrbobbytables, US Eastern)
- Christoph Blecker (@cblecker, CA Pacific)
- Erick Fejta (@fejta, US Pacific)
- Nikhita Raghunath (@nikhita, Indian Standard Time)
- Ihor Dvoretskyi (@idvoretskyi, UA Eastern European)
This team is responsible for holding Org Owner privileges over all the active Kubernetes orgs, and will take action in accordance with our polices and procedures. All members of this team are subject to the Kubernetes security embargo policy.
Nominations to this team will come from the Contributor Experience SIG, and require confirmation by the Steering Committee before taking effect. Time zones and country of origin should be considered when selecting membership, to ensure sufficient after North American business hours and holiday coverage.
New Membership Coordinators help serve as a friendly face to newer, prospective community members, guiding them through the process to request membership to a Kubernetes GitHub organization.
They also have approval privileges for adding new members to the GitHub config.
Our current coordinators are:
- Arnaud Meukam (@ameukam, Central European)
- Nabarun Pal (@palnabarun, Indian Standard Time)
- Savitha Raghunathan (@savitharaghunathan, US Eastern)
The following organizations are currently known to be part of the Kubernetes project
Name | Description |
---|---|
kubernetes | Core |
kubernetes-client | API Client Libraries |
kubernetes-csi | Container Storage Interface Components |
kubernetes-retired | Retired/Archived Projects |
kubernetes-security | Private Security Fix Mirror |
kubernetes-sigs | SIG-related Projects |
Name | Description |
---|---|
kubernetes-addons | |
kubernetes-charts | |
kubernetes-extensions | |
kubernetes-federation | |
kubernetes-graveyard | kubernetes-retired should be used instead going forward |
kubernetes-incubator | Earlier used for legacy incubator projects |
kubernetes-incubator-retired | kubernetes-retired should be used instead going forward |
kubernetes-providers | |
kubernetes-sidecars | |
kubernetes-sig-testing | |
kubernetes-test | |
kubernetes-tools |
Note, this list is subject to change.
There are more organization names that we are squatting on with possible future intentions. For more details please see community issue #1407.
We have created a number of tools to help with the management of or Github repositories and organizations:
- prow: Prow is our system for handling
GitHub events and commands for Kubernetes. It is comprised of a number of
modules/plugins. A couple key ones for GitHub management are below, but a full
list of commands is available here
- branchprotector: enforce branch protection settings across an organization
- peribolos: Manage Github organization and team membership based on a defined YAML configuration
- label_sync: Add, modify, delete, and migrate labels across an entire organization based on a defined YAML configuration