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.