Skip to content

Commit

Permalink
overhaul contributor getting started guide
Browse files Browse the repository at this point in the history
  • Loading branch information
BenTheElder committed Dec 3, 2020
1 parent 13e7edb commit c391912
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 45 deletions.
13 changes: 3 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,12 @@ _As contributors and maintainers of this project, and in the interest of fosteri

## Getting Started

We have full documentation on how to get started contributing here:

<!---
If your repo has certain guidelines for contribution, put them here ahead of the general k8s resources
-->

- [Contributor License Agreement](https://git.k8s.io/community/CLA.md) Kubernetes projects require that you sign a Contributor License Agreement (CLA) before we can accept your pull requests
- [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
We have full documentation on how to get started contributing here: https://kind.sigs.k8s.io/docs/contributing/getting-started/, _please_ read this!
A lot of work went into this guide 🙃

## Mentorship

- [Mentoring Initiatives](https://git.k8s.io/community/mentoring) - We have a diverse set of mentorship programs available that are always looking for volunteers!
- [Mentoring Initiatives](https://git.k8s.io/community/mentoring) - Kubernetes has a diverse set of mentorship programs available that are always looking for volunteers!

<!---
Custom Information - if you're copying this template for the first time you can add custom content here, for example:
Expand Down
85 changes: 50 additions & 35 deletions site/content/docs/contributing/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,55 +9,49 @@ toc: true
description: Welcome! This guide covers how to get started contributing to kind.
---

## 1. Read the Kubernetes community guidelines
## 1. Familiarize Yourself With Contributing to Kubernetes Projects
### Read the Kubernetes Community Guidelines

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

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

## 2. Install Tools
### Setup GitHub Account

### Install git
Kubernetes and kind are developed on [GitHub][github] and will require
an account to contribute.

Our source code is managed with [`git`][git], to develop locally you
will need to install `git`.
### Sign CNCF CLA

You can check if `git` is already on your system and properly installed with
the following command:
The Kubernetes project requires the [CNCF][CNCF] [CLA][CNCF-cla] be signed against
your GitHub account for all contributions in all subprojects.

```
git --version
```
You'll need to get the CLA signed to contribute.

### Install Hugo
### Check The Kubernetes Contributor Guides

If you wish to contribute to the documentation, it is recommended but not
required to install [hugo], which we use to develop this site.
You may come back to this later, but we highly recommend reading these:

Please see: https://gohugo.io/getting-started/installing/
- [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

## 2. Install Tools

### Install Go
### Install Git

To work on kind's codebase you will need [Go][golang].
Our source code is managed with [`git`][git], to develop locally you
will need to install `git`.

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:
You can check if `git` is already on your system and properly installed with
the following command:

```
go version
git --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][docker].
Expand All @@ -73,10 +67,22 @@ docker --version
```
This documentation is written using Docker version 18.09.2.

### 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:

## 3. Read The Docs

The [design principles], [1.0 roadmap], [project structure], and [initial design]
may be helpful to review before contributing.
may be helpful to review before contributing. These docs cover some of the project
philosphy and direction.

## 4. Reaching Out

Expand All @@ -85,22 +91,27 @@ if there is any existing discussion or work related to your interests.

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

> **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.
> To streamline the process, please reach out and discuss the concept and design
> / approach ASAP so the maintainers and community can get involved early.
Please reach out for bugs, feature requests, and other issues!
The maintainers of this project are reachable via:

- [Kubernetes Slack] in the [#kind] channel
- [filing an issue][file an issue]
- The Kubernetes [SIG-Testing Mailing List]
- [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]

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

See also: the Kubernetes [community page].

[git]: https://git-scm.com/
[hugo]: https://gohugo.io
[issues]: https://github.com/kubernetes-sigs/kind/issues
[file an issue]: https://github.com/kubernetes-sigs/kind/issues/new
[file an issue]: https://github.com/kubernetes-sigs/kind/issues/new/choose
[design principles]: /docs/design/principles
[1.0 roadmap]: /docs/contributing/1.0-roadmap
[project scope]: /docs/contributing/project-scope
Expand All @@ -119,3 +130,7 @@ See also: the Kubernetes [community page].
[community page]: http://kubernetes.io/community/
[modules]: https://github.com/golang/go/wiki/Modules
[SIG-Testing Mailing List]: https://groups.google.com/forum/#!forum/kubernetes-sig-testing
[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

0 comments on commit c391912

Please sign in to comment.