Skip to content

aenix-io/cluster-api-control-plane-provider-kamaji

 
 

Repository files navigation

Kamaji Cluster API Control Plane provider

Kamaji Cluster API Control Plane provider

#kamaji on Kubernetes Slack

The Kamaji Control Plane provider implementation of the Cluster Management API.

🤔 What is Kamaji?

Kamaji is an Open-Source project offering hosted Kubernetes control planes. tl;dr; the Control Plane is running in a management cluster as regular pods.

You can refer to the official documentation website.

📄 Documentation

The Kamaji Cluster API Control Plane provider documentation is referenced in the Kamaji documentation website.

🚀 Supported CAPI infrastructure providers

Infrastructure Provider Version
Equinix/Packet (technical considerations) += v0.7.2
KubeVirt (technical considerations) += 0.1.7
Metal³ (technical considerations) += 1.4.0
Nutanix (technical considerations) += 1.2.4
OpenStack += 0.8.0
Tinkerbell In road-map
vSphere (technical considerations) += 1.7.0

Are you looking for further integrations? Please, engage with the community on the #kamaji Kubernetes Slack workspace channel, or using the GitHub Discussion section.

🛠 Development

This document describes how to use kind and Tilt for a simplified workflow that offers easy deployments and rapid iterative builds. Before the next steps, make sure the initial setup for development environment steps is complete.

  1. Create a kind cluster according to the CAPI Infrastructure Provider requirements you're planning to use
  2. Install Cluster API with the clusterctl CLI
  3. Install Kamaji (for the sake of simplicity, we suggest Helm)
  4. Get the source of the Kamaji Control Plane provider and place in your desired LOCATION
  5. Run the Kamaji Cluster API Control Plane Provider as you prefer, as well as with dlv to debug it
  6. Run Tilt by issuing tilt up
  7. You have a full development environment

🏷️ Versioning

Versioning adheres to the Semantic Versioning principles. A full list of the available release is available in the GitHub repository's Release section.

📄 Compatibility matrix

The Control Plane provider has several dependencies, such as Cluster API and Kamaji.

The following compatibility matrix is useful to match them according to the Control Plane provider version you're planning to run.

CP provider Cluster API Kamaji TCP API version
v0.6.0 v1.5.x, v1.6.x ~v0.4.0 v1alpha1
v0.5.0 v1.5.x ~v0.4.0 v1alpha1
v0.4.2 v1.5.x ~v0.3.2 v1alpha1
v0.4.1 v1.5.x ~v0.3.2 v1alpha1
v0.4.0 v1.5.x ~v0.3.2 v1alpha1
v0.3.1 v1.5.x ~v0.3.2 v1alpha1
v0.3.0 v1.5.x ~v0.3.2 v1alpha1
v0.2.2 v1.5.x ~v0.3.2 v1alpha1
v0.2.1 v1.5.x v0.3.1 v1alpha1
v0.2.0 v1.4.x v0.3.x v1alpha1
v0.2.0 v1.4.x v0.3.x v1alpha1
v0.1.1 v1.4.x v0.3.x v1alpha1
v0.1.0 v1.4.x v0.3.x v1alpha1

🤝 Contributions

Contributions are highly appreciated and very welcomed!

In case of bugs, please, check if the issue has been already opened by checking the GitHub Issues section. In case it isn't, you can open a new one: a detailed report will help us to replicate it, assess it, and work on a fix.

You can express your intention in working on the fix on your own. The commit messages are checked according to the described semantics. Commits are used to generate the changelog, and their author will be referenced in it.

📝 License

The Kamaji Cluster API Control Plane provider is licensed under Apache 2.0. The code is provided as-is with no warranties.

🛟 Commercial Support

CLASTIX is the commercial company behind Kamaji and the Cluster API Control Plane provider.

If you're looking to run Kamaji in production and would like to learn more, CLASTIX can help by offering Open Source support plans, as well as providing a comprehensive Enterprise Platform named CLASTIX Enterprise Platform, built on top of the Kamaji and Capsule project (now donated to CNCF as a Sandbox project).

Feel free to get in touch with the provided Contact form.

About

The Kamaji Control Plane provider implementation of the Cluster Management API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 77.5%
  • Makefile 20.5%
  • Dockerfile 2.0%