How To Contribute to Kubermatic KubeOne

Contributing to Kubermatic KubeOne

Kubermatic KubeOne is an open-source project that automates cluster operations on all your cloud, on-prem, edge, and IoT environments. Therefore, contributors in different areas but not limited to project automation, code review, tooling, documentation, testing etc., for the holistic improvement of the KubeOne project is highly welcomed. Kubermatic projects are Apache 2.0 licensed and accept contributions via GitHub pull requests from interested contributors. This document outlines some of the conventions on development workflow, contributor’s notes, contributing steps, contact points and other resources to make your contribution to the projects felicitous.

Contributor’s Notes

There are few things to note when contributing to the Kubermatic KubeOne project, which are highlighted below:

  • KubeOne project is hosted on GitHub; thus, GitHub knowledge is one of the essential pre-requisites
  • The KubeOne documentation is written in markdown (.md) and located in the docs repository.
  • See CONTRIBUTING.md for instructions on the developer certificate of origin that we require
  • Familiarisation with Hugo for building static site locally is suggested for documentation contribution
  • Kubernetes knowledge is recommended
  • The KubeOne documentation is currently available only in English
  • We have a simple code of conduct that should be adhered to

Steps in Contributing to Kubermatic KubeOne

  • Please familiarise yourself with our Code of Conduct
  • Check the opened issues on our GitHub repo peradventure there might be anyone that will be of interest
  • Use good first issue and help wanted labels to search for issues that need contribution
  • Fork the repository on GitHub
  • Read the README for build and test instructions

Contribution Workflow

The below outlines show an example of what a contributor’s workflow looks like:

  • Fork the repository on GitHub
  • Create a topic branch from where you want to base your work (usually main)
  • Make commits of logical units
  • Make sure your commit messages are in the proper format
  • Push your changes to the topic branch in your fork repository
  • Make sure the tests pass and add any new tests as appropriate
  • Submit a pull request to the original repository
  • Assign a reviewer if you wish and wait for the PR to be reviewed
  • If everything works fine, your PR will be merged into the project’s main branch

Congratulations! You have successfully contributed to the Kubermatic KubeOne project.

Communication Channels

If you encounter a problem, you can file an issue in the repository on GitHub or talk to us on GitHub, #kubermatic slack channel, and also through our forum link. You can register on Kubernetes slack here. In case of complex issues, we can set up video meetings for resolution.

Thank you for your contributions!