GitHub Repositories
All repositories in the Gardener GitHub organization are managed through Peribolos, a tool from the Kubernetes project that reconciles GitHub organization settings — including repositories, teams, and memberships — against a declarative configuration file.
How Repository Management Works
The source of truth for all repositories and their settings is the org.yaml file in the gardener/org repository. A Peribolos job runs periodically and reconciles the actual state of the GitHub organization against the configuration declared in that file.
This means:
- All repository changes must be made via
org.yaml— the Peribolos job will overwrite any manual changes made directly in GitHub. - Changes such as creating a repository, updating its description, adjusting team permissions, or toggling settings must be submitted as a pull request to
gardener/org.
Requesting a New Repository
To request the creation of a new repository in the Gardener organization:
- Open an issue in the
gardener/orgrepository using the provided template. - Fill in the required details, such as the repository name, description, and purpose.
- The org owners will review the request and, once approved, add the repository to
org.yamland submit the corresponding pull request.
Making Changes to Existing Repositories
To change the settings of an existing repository (e.g., update its description, visibility, or team access):
- Open a pull request against gardener/org that modifies the relevant entry in
config/org.yaml. - Describe the reason for the change in the pull request description.
- Once the pull request is merged, the Peribolos job picks up the change and applies it to the GitHub organization.