Skip to content

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:

  1. Open an issue in the gardener/org repository using the provided template.
  2. Fill in the required details, such as the repository name, description, and purpose.
  3. The org owners will review the request and, once approved, add the repository to org.yaml and 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):

  1. Open a pull request against gardener/org that modifies the relevant entry in config/org.yaml.
  2. Describe the reason for the change in the pull request description.
  3. Once the pull request is merged, the Peribolos job picks up the change and applies it to the GitHub organization.

Last updated: