Skip to content

Contributor Guide

Thank you for your interest in contributing to Gardener. This page provides an overview of how to get started, what to expect from the contribution process, and how to connect with the community.

Prerequisites

Before contributing to Gardener, please review and complete the following requirements.

Code of Conduct

All members of the Gardener community must abide by the Contributor Covenant. Only by respecting each other can we develop a productive, collaborative community. Please report abusive, harassing, or unacceptable behavior to gardener.opensource@sap.com and/or a Gardener project maintainer.

Developer Certificate of Origin

Contributors must accept a Developer Certificate of Origin (DCO) before submitting their first pull request. This happens in an automated fashion during the submission process. We use the standard DCO text of the Linux Foundation.

License

Your contributions to Gardener must be licensed properly:

Contributing

Gardener uses GitHub to manage and review pull requests.

Steps to Contribute

If you'd like to work on an issue, please claim it first by commenting on the corresponding GitHub issue. This prevents multiple contributors from working on the same issue simultaneously.

If you have questions about an issue, leave a comment in the issue, and one of the maintainers will help you.

Please follow the Pull Request Checklist to ensure a smooth review process.

Pull Request Checklist

  • Branch from master. Before submitting your pull request, rebase your changes onto the current master branch.
  • Keep commits small and self-contained. Each commit should compile and pass all tests independently.
  • Test your changes thoroughly before you commit them. Preferably, automate your testing with unit / integration tests. If tested manually, describe the test scope in the PR description (e.g., "Test passed: Upgrade K8s version from 1.14.5 to 1.15.2 on AWS, Azure, GCP, Alicloud, OpenStack.").
  • Write a clear and detailed Pull Request description to help reviewers understand your changes.
  • Create Work In Progress [WIP] pull requests only if you need a clarification or an explicit review before continuing your work.
  • If your patch is not getting reviewed or you need a specific person to review it, you can @mention a reviewer or request a review via our mailing list.
  • If you add new features, make sure that they are documented in the Gardener documentation.
  • After a review:
    • If a review requires you to change your commit(s), please test the changes again.
    • Address each reviewer’s feedback in a separate commit. Do not mix the feedback from multiple reviews in a single commit.
    • Mark resolved comments as resolved in GitHub.
    • Add a comment to notify reviewers when updates are ready for another review.

Contributing Bigger Changes

If you want to contribute bigger changes to Gardener, such as when introducing new API resources and their corresponding controllers, or implementing an approved Gardener Enhancement Proposal, follow the guidelines in Contributing Bigger Changes.

Adding Already Existing Documentation

If you want to add documentation that already exists on GitHub to the website, you should update the central manifest instead of duplicating the content. To find out how to do that, see Adding Already Existing Documentation.

Issues and Planning

We use GitHub issues to track bugs and enhancement requests. When opening an issue, provide enough details for others to understand and reproduce the problem. You may use the provided issue template, but it is not required.

Community

Slack

We use the Gardener Project workspace for public communication related to the Gardener project.

Mailing List

gardener@googlegroups.com

The mailing list is hosted on Google Groups. To receive emails, join the group as you would any other Google Group.