Getting Started

Welcome! This guide covers how to get started contributing to kind.

1. Read the Kubernetes community guidelines

Make sure to read you read the Kubernetes community guidelines. In specific, read through the Kubernetes contributor guidelines.

Additionally, note that kind is developed on GitHub and will require an account to contribute.

2. Install Tools

Install git

Our source code is managed with git, to develop locally you will need to install git.

You can check if git is already on your system and properly installed with the following command:

  1. git --version

Install Hugo

If you wish to contribute to the documentation, it is recommended but not required to install hugo, which we use to develop this site.

Please see: https://gohugo.io/getting-started/installing/

Install Go

To work on kind’s codebase you will need Go.

Install or upgrade Go using the instructions for your operating system. You can check if Go is in your system with the following command:

  1. go version

Preferably Go 1.13 or greater should be installed.

Correct automatic formatting of the source with gofmt requires at least 1.11.0.

Working with Go modules (which we use for dependency management) requires at least 1.11.4 due to checksum bugs in lower versions.

Install Docker

Currently, to create clusters you will need to install Docker.

If you haven’t already, install Docker, following the official instructions. If you have an existing installation, check your version and make sure you have the latest Docker.

To check if docker has been installed:

  1. docker --version

This documentation is written using Docker version 18.09.2.

3. Read The Docs

The design principles, 1.0 roadmap, project structure, and initial design may be helpful to review before contributing.

4. Reaching Out

Issues are tracked on GitHub. Please check the issue tracker to see if there is any existing discussion or work related to your interests.

If you do not see anything, please file a new issue.

Please reach out for bugs, feature requests, and other issues!
The maintainers of this project are reachable via:

Current maintainers are @BenTheElder and @munnerz - feel free to reach out if you have any questions!

See also: the Kubernetes community page.