2019-02-14 12:55:47 -08:00
---
title: "Getting Started"
menu:
main:
parent: "contributing"
identifier: "getting started"
weight: 1
2020-12-02 16:45:10 -08:00
toc: true
2020-12-02 20:22:14 -08:00
description: |-
Welcome! 👋
2020-12-03 00:55:15 -08:00
2020-12-02 20:22:14 -08:00
This guide covers how to start contributing to kind 😄
2019-02-14 12:55:47 -08:00
---
2020-12-02 19:57:19 -08:00
## 1. Familiarize Yourself With Contributing to Kubernetes Projects
### Read the Kubernetes Community Guidelines
2019-02-14 12:55:47 -08:00
Make sure to read you read the [Kubernetes community guidelines][community].
In specific, read through the [Kubernetes contributor guidelines][contributor].
2020-12-02 19:57:19 -08:00
Additionally, note that
2019-02-14 12:55:47 -08:00
2020-12-02 19:57:19 -08:00
### Setup GitHub Account
2019-02-14 12:55:47 -08:00
2020-12-02 19:57:19 -08:00
Kubernetes and kind are developed on [GitHub][github] and will require
an account to contribute.
2019-02-14 12:55:47 -08:00
2020-12-02 19:57:19 -08:00
### Sign CNCF CLA
2019-02-14 12:55:47 -08:00
2020-12-02 19:57:19 -08:00
The Kubernetes project requires the [CNCF][CNCF] [CLA][CNCF-cla] be signed against
your GitHub account for all contributions in all subprojects.
2019-02-14 12:55:47 -08:00
2020-12-02 19:57:19 -08:00
You'll need to get the CLA signed to contribute.
2019-02-14 12:55:47 -08:00
2020-12-02 19:57:19 -08:00
### Check The Kubernetes Contributor Guides
2019-02-17 23:41:05 -08:00
2020-12-02 19:57:19 -08:00
You may come back to this later, but we highly recommend reading these:
2019-02-17 23:41:05 -08:00
2020-12-02 19:57:19 -08:00
- [Kubernetes Contributor Guide ](https://git.k8s.io/community/contributors/guide )
- Main contributor documentation, or you can just jump directly to the [contributing section ](https://git.k8s.io/community/contributors/guide#contributing )
- [Contributor Cheat Sheet ](https://git.k8s.io/community/contributors/guide/contributor-cheatsheet )
- Common resources for existing developers
2019-02-17 23:41:05 -08:00
2020-12-02 19:57:19 -08:00
## 2. Install Tools
2019-02-17 23:41:05 -08:00
2020-12-02 19:57:19 -08:00
### Install Git
2019-02-17 23:41:05 -08:00
2020-12-02 19:57:19 -08:00
Our source code is managed with [`git` ][git], to develop locally you
will need to install `git` .
2019-02-17 23:41:05 -08:00
2020-12-02 19:57:19 -08:00
You can check if `git` is already on your system and properly installed with
the following command:
2019-02-14 12:55:47 -08:00
```
2020-12-02 19:57:19 -08:00
git --version
2019-02-14 12:55:47 -08:00
```
2019-02-17 23:41:05 -08:00
### Install Docker
Currently, to create clusters you will need to install [Docker][docker].
If you haven't already, [install Docker][install docker], following the
[official instructions][install docker].
2019-02-14 12:55:47 -08:00
If you have an existing installation, check your version and make sure you have
the latest Docker.
2020-01-30 18:09:41 +07:00
To check if `docker` has been installed:
2019-02-14 12:55:47 -08:00
```
docker --version
```
2019-02-14 13:16:10 -08:00
This documentation is written using Docker version 18.09.2.
2019-02-14 12:55:47 -08:00
2020-12-02 19:57:19 -08:00
### Install Go (optional)
KIND is written in [Go][golang], however our makefiles automatically ensure the
correct version of go when building or testing.
You may still wish to install go on your machine to make it easier to integrate
into your editor etc. You can find the version of go we're currently using to develop kind in the [`.go-version` ][go-version] file in the kind repo.
Install or upgrade [Go using the instructions for your operating system][golang].
You can check if Go is in your system with the following command:
2019-02-14 12:55:47 -08:00
## 3. Read The Docs
2020-12-03 00:55:15 -08:00
The [design principles], [1.0 roadmap], and [initial design]
2020-12-02 19:57:19 -08:00
may be helpful to review before contributing. These docs cover some of the project
2021-01-06 22:03:13 -05:00
philosophy and direction.
2019-02-14 12:55:47 -08:00
## 4. Reaching Out
Issues are tracked on GitHub. Please check [the issue tracker][issues] to see
2019-05-24 16:22:58 +08:00
if there is any existing discussion or work related to your interests.
2019-02-14 12:55:47 -08:00
2020-12-03 13:07:04 -08:00
In particular, if you're just getting started, you may want to look for issues
labeled < a href = "https://github.com/kubernetes-sigs/kind/labels/good%20first%20issue" class = "gh-label" style = "background: #7057ff ; color: white" > good first issue</ a > or < a href = "https://github.com/kubernetes-sigs/kind/labels/help%20wanted" class = "gh-label" style = "background: #006b75 ; color: white" > help wanted</ a > which are standard labels in the Kubernetes
project.
The < a href = "https://github.com/kubernetes-sigs/kind/labels/help%20wanted" class = "gh-label" style = "background: #006b75 ; color: white" > help wanted</ a > label marks issues we're actively seeking help with while < a href = "https://github.com/kubernetes-sigs/kind/labels/good%20first%20issue" class = "gh-label" style = "background: #7057ff ; color: white" > good first issue</ a > is additionally applied to a subset of issues we think will be particularly good for newcomers.
If you're interested in working on any of these, leave a comment to let us know!
2019-02-14 12:55:47 -08:00
If you do not see anything, please [file a new issue][file an issue].
2020-12-02 19:57:19 -08:00
> **NOTE**: _Please_ file an enhancement / [feature request issue][fr-issue] to discuss features before filing a PR (ideally even before writing any code), we have a lot to consider with respect to our
> existing users and future support when accepting any new feature.
2020-12-03 13:07:04 -08:00
>
2020-12-02 19:57:19 -08:00
> To streamline the process, please reach out and discuss the concept and design
> / approach ASAP so the maintainers and community can get involved early.
2020-12-03 13:07:04 -08:00
Also -- Please reach out in general for bugs, feature requests, and other issues!
2019-02-14 12:55:47 -08:00
The maintainers of this project are reachable via:
2020-12-02 19:57:19 -08:00
- [Kubernetes Slack] in the [#kind ] channel (most active, along with the community)
- The issue tracker by [filing an issue][file an issue]
- The Kubernetes [SIG-Testing][SIG-Testing] [Mailing List][SIG-Testing Mailing List]
2019-02-14 12:55:47 -08:00
2022-09-06 22:09:35 -07:00
Current maintainers are [@aojea ] and [@BenTheElder ] -- feel free to
2020-12-02 19:57:19 -08:00
reach out directly if you have any questions!
2019-02-14 12:55:47 -08:00
See also: the Kubernetes [community page].
2020-12-03 00:55:15 -08:00
## 5. Next Steps
Okay, so you've gotten your development environment setup, you've read all the
contributor guides, signed the CLA ... now what?
If you're planning to contribute code changes, you'll want to read the [development guide] next.
2020-12-03 13:07:04 -08:00
If you're looking to contribute documentation improvements, first: Thank you! 🎉🤗
You'll specifically want to see the [documentation section] of the development guide.
2020-12-03 00:55:15 -08:00
2019-02-17 23:41:05 -08:00
[git]: https://git-scm.com/
2019-02-14 12:55:47 -08:00
[hugo]: https://gohugo.io
[issues]: https://github.com/kubernetes-sigs/kind/issues
2020-12-02 19:57:19 -08:00
[file an issue]: https://github.com/kubernetes-sigs/kind/issues/new/choose
2019-02-14 12:55:47 -08:00
[design principles]: /docs/design/principles
[1.0 roadmap]: /docs/contributing/1.0-roadmap
[project scope]: /docs/contributing/project-scope
2019-02-16 17:46:26 +01:00
[project structure]: /docs/contributing/project-structure
2019-02-14 12:55:47 -08:00
[initial design]: /docs/design/initial
[github]: https://github.com/
[golang]: https://golang.org/doc/install
2019-02-17 23:41:05 -08:00
[docker]: https://www.docker.com/
[install docker]: https://docs.docker.com/install/#supported -platforms
2019-02-14 12:55:47 -08:00
[community]: https://github.com/kubernetes/community
[contributor]: https://github.com/kubernetes/community/blob/master/contributors/guide/README.md
2021-07-28 21:49:58 +03:00
[Kubernetes Slack]: https://slack.k8s.io/
2019-02-14 12:55:47 -08:00
[#kind ]: https://kubernetes.slack.com/messages/CEKK1KTN2/
[@BenTheElder ]: https://github.com/BenTheElder
2021-01-21 20:34:08 -08:00
[@aojea ]: https://github.com/aojea
2021-07-28 21:49:58 +03:00
[community page]: https://kubernetes.io/community/
2019-02-17 23:41:05 -08:00
[modules]: https://github.com/golang/go/wiki/Modules
2019-04-03 14:07:32 +08:00
[SIG-Testing Mailing List]: https://groups.google.com/forum/#!forum/kubernetes-sig-testing
2020-12-03 13:34:01 -08:00
[CNCF]: https://www.cncf.io/
2020-12-02 19:57:19 -08:00
[CNCF-cla]: https://git.k8s.io/community/CLA.md
[fr-issue]: https://github.com/kubernetes-sigs/kind/issues/new?labels=kind%2Ffeature& template=enhancement.md
[SIG-Testing]: https://github.com/kubernetes/community/blob/master/sig-testing/README.md
[go-version]: https://sigs.k8s.io/kind/.go-version
2020-12-03 00:55:15 -08:00
[development guide]: /docs/contributing/development
[documentation section]: /docs/contributing/development#documentation