ctrlplane

server: https://a36zvvf2xg.api.ctrlplane.run

Your own Kubernetes API. No cluster to run.

ctrlplane gives you a dedicated Kubernetes control plane, the API server and nothing else, and runs your controllers next to it. Point your operators at it with the tools you already use, and keep your workloads wherever they live today.

Sign in with GitHub

Early access: sign in to request your control plane.

Or from your terminal

The ctrlplane CLI signs you in, creates control planes and points kubectl at them. It works as a kubectl plugin too: kubectl ctrlplane list.

$ ctrlplane login
Opening your browser to sign in.
Signed in to https://app.ctrlplane.run.
$ ctrlplane create dev --wait
Creating alice-dev...
alice-dev is ready at https://a36zvvf2xg.api.ctrlplane.run. Next: ctrlplane use dev
$ ctrlplane list
NAME        STATUS   ENDPOINT
alice-dev   Ready    https://a36zvvf2xg.api.ctrlplane.run
$ ctrlplane use dev
Switched to context "ctrlplane-alice-dev".
$ ctrlplane apply -f crds/
customresourcedefinition.apiextensions.k8s.io/virtualmachines.example.com created
$ ctrlplane controllers
NAME          READY   STATUS    RESTARTS   AGE   LAST EXIT
vm-operator   true    Running   0          12s
$ 

Install: go install github.com/alperencelik/ctrlplane/cmd/ctrlplane@latest

An API of your own
Its own API server, certificate authority and RBAC. Install CRDs, create namespaces, use kubectl as usual.
Controllers, run for you
Give ctrlplane a container image and it runs it against your API with scoped credentials, with logs and metrics included.
Into your network
A tunnel lets your controllers reach machines in your own network, like a Proxmox host, without opening inbound ports.