ctrlplane
A hosted control plane for Kubernetes operators

Your own Kubernetes API. No nodes to run.

Apply your CRDs, deploy your controller's image, and let it reconcile what lives outside Kubernetes: virtual machines, DNS records, databases, SaaS accounts.

$ brew install alperencelik/tap/ctrlplane

From operator to running, in three commands

  1. Create a control plane

    An API server of its own, on an endpoint of its own.ctrlplane create dev --wait
  2. Apply your CRDs

    The API types your operator defines, with kubectl or the ctrlplane CLI.ctrlplane apply -f crds/
  3. Deploy your controller

    Any image. It runs next to your API with a kubeconfig for it, plus logs and metrics.ctrlplane controllers

Everything around the operator, handled

You write the reconcile loop. ctrlplane runs the API it talks to, the process it runs in, and the path to the systems it manages.

$ 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 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
vm-operator   true    Running   0          12s
$ 

Bring your operator.

ctrlplane is in early access. Tell us what your controller manages.

Request early access