Skip to content

clastix/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
AWS (technical considerations) += v2.4.0
Equinix/Packet (technical considerations) += v0.7.2
Hetzner(technical considerations) += v1.0.0-beta.30
KubeVirt (technical considerations) += 0.1.7
Metal³ (technical considerations) += 1.4.0
Nutanix (technical considerations) += 1.2.4
OpenStack (technical considerations) += 0.8.0
Tinkerbell (technical considerations) += v0.5.2
vSphere (technical considerations) += 1.7.0
IONOS Cloud (technical considerations) += v0.3.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.

🤝 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.

📄 Kamaji compatibility

As of July 2024, CLASTIX Labs organisation does no longer provide stable release artefacts in favour of edge releases.

Although CLASTIX Labs strives to provide production-grade artefacts even for edge releases, starting from v0.12.0 the Kamaji Cluster API Control Plane provider will not use a stable version pinning in favour of edge releases.

To ensure a perfect compatibility and a production grade implementation between Kamaji and the Cluster API Control Plane provider, we suggest getting in touch with CLASTIX Labs to achieve commercial support.

🛟 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.