Kubemox is a Proxmox operator for Kubernetes. It allows you to create and manage Proxmox VMs from Kubernetes.

Proxmox is a great open-source virtualization platform. It has a great API and CLI but managing resources inside Proxmox within a declarative way might be hard. Kubemox is a Kubernetes operator that allows you to manage Proxmox resources in a declarative way. It brings the power of Kubernetes to Proxmox and allows you to manage Proxmox resources with Kubernetes resources with the endless control loop of Kubernetes.
Kubemox helps you to manage your infrastructure components in a declarative way. You can also combine with GitOps tool to make your infrastructure immutable and reproducible. See the documentation section for more information.
Documentation is available at https://alperencelik.github.io/kubemox/.
You’ll need a Kubernetes cluster to run against. You can use KIND to get a local cluster for testing, or run against a remote cluster. The project is using Kubebuilder to generate the controller and CRDs. For Proxmox interaction the project is using go-proxmox project. The controllers are located under internal/controllers/proxmox directory and the external packages proxmox and kubernetes are located under pkg directory.
kubebuilder create api --group proxmox --version v1alpha1 --kind NewKind
Define the spec and status of your new kind in api/proxmox/v1alpha1/newkind_types.go file.
Define the controller logic in internal/controllers/proxmox/newkind_controller.go file.
Thank you for considering contributing to this project! To get started, please follow these guidelines:
Kubemox is under active development and doesn't follow the Custom Resource Definition (CRD) versioning principles. This means that Kubemox doesn't guarantee version updates on breaking changes and also there is no guarantee for the backward compatibility of the CRDs. Please be aware of this before using Kubemox in production environments.
$ claude mcp add kubemox \
-- python -m otcore.mcp_server <graph>