Kubermatic Kubernetes Platform is in an open source project to centrally manage the global automation of thousands of Kubernetes clusters across multicloud, on-prem and edge with unparalleled density and resilience.
All user documentation is available at the Kubermatic Kubernetes Platform docs website.
There are two editions of Kubermatic Kubernetes Platform:
Kubermatic Kubernetes Platform Community Edition (CE) is available freely under the Apache License, Version 2.0. Kubermatic Kubernetes Platform Enterprise Edition (EE) includes premium features that are most useful for organizations with large-scale Kubernetes installations with more than 50 clusters. To access the Enterprise Edition and get official support please become a subscriber.
See the LICENSE file for licensing information as it pertains to files in this repository.
We strongly recommend that you use an official release of Kubermatic Kubernetes Platform. Follow the instructions under the Installation section of our documentation to get started.
The code and sample YAML files in the master branch of the kubermatic repository are under active development and are not guaranteed to be stable. Use them at your own risk!
The documentation provides a getting started guide, plus information about building from source, architecture, extending kubermatic, and more.
Please use the version selector at the top of the site to ensure you are using the appropriate documentation for your version of kubermatic.
If you encounter issues file an issue or talk to us on the #kubermatic channel on the Kubermatic Slack.
Thanks for taking the time to join our community and start contributing!
Feedback and discussion are available on the mailing list.
- Please familiarize yourself with the Code of Conduct before contributing.
- See CONTRIBUTING.md for instructions on the developer certificate of origin that we require.
- Read how we're using ZenHub for project and roadmap planning
├── addons # Default Kubernetes addons
├── CHANGELOG.md # The changelog
├── cmd # Various Kubermatic binaries for the API, controller-managers etc.
├── codegen # Helper programs to generate Go code and Helm charts
├── charts # The Helm charts we use to deploy, gets exported to https://github.com/kubermatic/kubermatic-installer
├── containers # Various utility container images
├── docs # Some basic docs
├── hack # scripts for development and CI
├── openshift_addons # Default Openshift addons
├── OWNERS
├── OWNERS_ALIASES
├── pkg # most of the actual codebase
├── Procfile
└── README.md
mkdir -p $(go env GOPATH)/src/k8c.io
cd $(go env GOPATH)/src/k8c.io
git clone git@github.com:kubermatic/kubermatic
cd kubermatic
Or alternatively:
go get k8c.io/kubermatic
There are a couple of scripts in the hacks
directory to aid in running the components locally
for testing purposes.
You can create a cluster via the UI at https://dev.kubermatic.io
, then use kubectl
to add a
worker-name=<<hostname-of-your-laptop>>
label to the cluster. This will make your locally
running controllers manage the cluster.
./hack/run-api.sh
./hack/run-controller.sh
./hack/run-master-controller-manager.sh
Before every push, make sure you run:
make check
gofmt errors can be automatically fixed by running
make fix
make test
Kuberneres code-generator tool does not work out of GOPATH
see, if you followed
the recommendation and cloned your repository at $(go env GOPATH)/src/k8c.io
you can run the following command:
hack/update-codegen.sh
Otherwise run the following (requires Docker):
make update-codegen-in-docker
- We welcome pull requests. Feel free to dig through the issues and jump in.
See the list of releases to find out about feature changes.