volcano.sh/volcano@v1.9.0/docs/development/prepare-for-development.md (about) 1 This document helps you get started developing code for Volcano. 2 If you follow this guide and find some problem, please take 3 a few minutes to update this file. 4 5 Volcano components only have few external dependencies you 6 need to set up before being able to build and run the code. 7 8 - [Setting up Go](#setting-up-go) 9 - [Setting up Docker](#setting-up-docker) 10 - [Setting up Kubernetes](#setting-up-kubernetes) 11 - [Setting up personal access token](#setting-up-a-personal-access-token) 12 13 ## Setting up Go 14 15 All Volcano components are written in the [Go](https://golang.org) programming language. 16 To build, you'll need a Go development environment. If you haven't set up a Go development 17 environment, please follow [these instructions](https://golang.org/doc/install) 18 to install the Go tools. 19 20 Volcano currently builds with Go 1.14 21 22 ## Setting up Docker 23 24 Istio has a Docker build system for creating and publishing Docker images. 25 To leverage that you will need: 26 27 - **Docker platform:** To download and install Docker follow [these instructions](https://docs.docker.com/install/). 28 29 - **Docker Hub ID:** If you do not yet have a Docker ID account you can follow [these steps](https://docs.docker.com/docker-id/) to create one. This ID will be used in a later step when setting up the environment variables. 30 31 32 ## Setting up Kubernetes 33 34 We require Kubernetes version 1.12 or higher with CRD support. 35 36 If you aren't sure which Kubernetes platform is right for you, see [Picking the Right Solution](https://kubernetes.io/docs/setup/). 37 38 * [Installing Kubernetes with Minikube](https://kubernetes.io/docs/setup/learning-environment/minikube/) 39 40 * [Installing Kubernetes with kops](https://kubernetes.io/docs/setup/production-environment/tools/kops/) 41 42 * [Installing Kubernetes with kind](https://kind.sigs.k8s.io/) 43 44 ### Setting up a personal access token 45 46 This is only necessary for core contributors in order to push changes to the main repos. 47 You can make pull requests without two-factor authentication 48 but the additional security is recommended for everyone. 49 50 To be part of the Volcano organization, we require two-factor authentication, and 51 you must setup a personal access token to enable push via HTTPS. Please follow 52 [these instructions](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) 53 for how to create a token. 54 Alternatively you can [add your SSH keys](https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/). 55 56 ### What's next? 57 58 Once you've set up the prerequisites, continue with [Using the Code Base](./development.md) 59 for more details about how to build & test Volcano.