Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/clastix/cluster-api-control-plane-provider-kamaji

The Kamaji Control Plane provider implementation of the Cluster Management API
https://github.com/clastix/cluster-api-control-plane-provider-kamaji

hacktoberfest

Last synced: 7 days ago
JSON representation

The Kamaji Control Plane provider implementation of the Cluster Management API

Awesome Lists containing this project

README

        

![Kamaji Cluster API Control Plane provider](./assets/cover.png)

## Kamaji Cluster API Control Plane provider






#kamaji on Kubernetes Slack

The Kamaji Control Plane provider implementation of the [Cluster Management API](https://cluster-api.sigs.k8s.io/).

### πŸ€” What is Kamaji?

[Kamaji](http://github.com/clastix/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](https://kamaji.clastix.io/).

### πŸ“„ Documentation

The Kamaji Cluster API Control Plane provider documentation is referenced in the [Kamaji documentation](https://kamaji.clastix.io/guides/cluster-api/) website.

### πŸš€ Supported CAPI infrastructure providers

| Infrastructure Provider | Version |
|-----------------------------------------------------------------------------------------------------------------------------------------|-------------------|
| [AWS](https://github.com/kubernetes-sigs/cluster-api-provider-aws) ([technical considerations](docs/providers-aws.md)) | += v2.4.0 |
| [Equinix/Packet](https://github.com/kubernetes-sigs/cluster-api-provider-packet) ([technical considerations](docs/providers-packet.md)) | += v0.7.2 |
| [Hetzner](https://github.com/syself/cluster-api-provider-hetzner)([technical considerations](docs/providers-hetzner.md)) | += v1.0.0-beta.30 |
| [KubeVirt](https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt) ([technical considerations](docs/providers-kubevirt.md)) | += 0.1.7 |
| [MetalΒ³](https://github.com/metal3-io/cluster-api-provider-metal3) ([technical considerations](docs/providers-metal3.md)) | += 1.4.0 |
| [Nutanix](https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix) ([technical considerations](docs/providers-nutanix.md)) | += 1.2.4 |
| [OpenStack](https://github.com/kubernetes-sigs/cluster-api-provider-openstack) ([technical considerations](docs/providers-openstack.md)) | += 0.8.0 |
| [Tinkerbell](https://github.com/tinkerbell/cluster-api-provider-tinkerbell) ([technical considerations](docs/providers-tinkerbell.md)) | += v0.5.2 |
| [vSphere](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere) ([technical considerations](docs/providers-vsphere.md)) | += 1.7.0 |
| [IONOS Cloud](https://github.com/ionos-cloud/cluster-api-provider-ionoscloud) ([technical considerations](docs/providers-ionoscloud.md)) | += v0.3.0 |

> Are you looking for further integrations?
> Please, engage with the community on the [#kamaji](https://kubernetes.slack.com/archives/C03GLTTMWNN) Kubernetes Slack
> workspace channel, or using the **GitHub Discussion** section.

### πŸ›  Development

This document describes how to use kind and [Tilt](https://tilt.dev/) 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](https://cluster-api.sigs.k8s.io/user/quick-start#install-andor-configure-a-kubernetes-cluster) you're planning to use
2. [Install Cluster API](https://cluster-api.sigs.k8s.io/user/quick-start#initialize-the-management-cluster) with the `clusterctl` CLI
3. Install Kamaji (for the sake of simplicity, we suggest [Helm](https://github.com/clastix/kamaji/tree/master/charts/kamaji#install-kamaji))
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](http://semver.org/) principles.
A full list of the available release is available in the GitHub repository's [**Release** section](https://github.com/clastix/cluster-api-control-plane-provider-kamaji/releases).

### 🀝 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](https://github.com/clastix/cluster-api-control-plane-provider-kamaji/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](https://github.com/projectcapsule/capsule/blob/main/CONTRIBUTING.md#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](https://kamaji.clastix.io/reference/versioning/#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](https://clastix.io/) 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](https://clastix.io/support),
as well as providing a comprehensive Enterprise Platform named [CLASTIX Enterprise Platform](https://clastix.cloud/), built on top of the Kamaji and [Capsule](https://capsule.clastix.io/) project (now donated to CNCF as a Sandbox project).

Feel free to get in touch with the provided [Contact form](https://clastix.io/contact).