Welcome to go through the contribution guide!
Before you get started to contribute. Please the following requirements:
- Golang 1.17
Technical area | Level requires | Links |
---|---|---|
Golang | Skilled | Youtube tutorial for beginner |
GitHub | Skilled | Official learning lab |
Kubernetes | Basic development skills | Official document |
Kustomize | Basic development skills | Official document |
Helm chart | Basic development skills | Official document |
Docker | Skilled | Official document |
Jenkins | Familiar [optional] | Official website, Tutorial in Chinese |
Technically, apiserver and controller are all binary files. So, it's possible to run them in your local environment. You just need to make sure that the connection between your environment and a Kubernetes cluster works well. This is a default config file of these components, please see also the sample file.
- Run kind in local or remote machine
- Make sure that you can access cluster via kubectl command in local machine
- Execute the following command to install our CRDs:
make install
- Copy config/samples/kubesphere.yaml to root directory of the repository.
- Before starting the APIServer, execute the following one command to clone Swagger UI
make swagger-ui
-
Debug code...
-
Execute the following command to uninstall our CRDs:
make uninstall
octant-ks-devops is a plugin of octant. It provides a dashboard for Kubernetes and ks-devops.
For example, you can access an API like:
curl -H "X-Authorization: Bearer xxxx" \
http://localhost:9090/kapis/devops.kubesphere.io/v1alpha3/devops/testblpsz/pipelines
Please get a token from Kubernetes cluster, and replace
xxxx
with it.
If you want to see ks-devops postman API collection , please visit ks-devops postman
If you're going to update or add CRD go struct, please run the following command once done with that:
make manifests generate generate-listers
then, it can generate CRDs and DeepCopy methods.
We are using golangci-lint as our code linter. Before you make some code changes, please execute following command to check code style:
golangci-lint run
# Or with specified folder, e.g.
golangci-lint run controllers/jenkinsconfig
- Collection of KubeSphere Devops related projects
- DevOps SIG meeting videos in Chinese and English
- Open source best practice (mostly written in Chinese)
- Open source guides are written by GitHub