Preparing the Development Environment

Go

KubeSphere development is based on Kubernetes, both of them are written in Go. If you don’t have a Go development environment, please set one up.

Kubernetesrequires Go
1.13+>= 1.12

Tips:

  • Ensure your GOPATH and PATH have been configured in accordance with the Go environment instructions.
  • It’s recommended to install macOS GNU tools for Mac OS.

Docker

KubeSphere components are often deployed as containers in Kubernetes. If you need to rebuild the KubeSphere components in the Kubernetes cluster, you will need to install Docker.

Dependency management

KubeSphere uses Go Modules to manage dependencies in the vendor/ tree.

Dependencies

kubesphere/kubesphere repository contains the source code . If you’re looking for its dependent components, they live in their own repositories since they can be individual and universal.

  • Alert: Alert is an enterprise-grade general-purpose high-performance alerting system.
  • Notification: Notification is an enterprise-grade general-purpose high-performance notification system, it provides email notification service for KubeSphere currently.
  • OpenPitrix: Application management platform on multi-cloud environment, it provides application template and application management for KubeSphere currently.
  • SonarQube: Integrated in KubeSphere DevOps, it provides the capability to not only show health of an application but also to highlight issues newly introduced.