Skip to content

patrostkowski/controlplane-operator

Repository files navigation

controlplane-operator

controlplane-operator provides a simple way to run and manage Kubernetes control planes on top of an existing Kubernetes cluster.

How it works?

controlplane-operator runs as a Kubernetes operator and watches ManagedControlPlane custom resources. For each resource, it provisions and manages a fully functional Kubernetes API server according to the declared specification.

The operator handles the full lifecycle of the control plane, including:

  • Bootstrapping the Kubernetes API
  • Configuration and reconciliation
  • Upgrades and version changes

Unlike traditional approaches, controlplane-operator abstracts the control plane away from the underlying hosts. Only worker nodes are managed as cluster hosts, making deployment and operations simpler and more flexible.

Getting started

# crds
kubectl apply -f https://raw.githubusercontent.com/patrostkowski/controlplane-operator/main/config/crd/controlplane.patrostkowski.dev_managedcontrolplanes.yaml

# deploy
kubectl apply -f https://raw.githubusercontent.com/patrostkowski/controlplane-operator/main/config/deploy/manifests.yaml

Development

Prerequisites

The following tools are required for local development:

  • Docker
  • kind
  • Taskfile

Local workflow

# create Kind cluster
task kind:create

# install dependencies
task dev:install

# run locally for quick feedback loop
task dev:run

Roadmap

  • Deploy control plane as Kubernetes workloads
  • kubeadm-compatible control plane
  • Highly available control plane
  • Pluggable etcd-compatible backend
  • Control plane upgrade orchestration
  • Metrics, health checks, and observability
  • Helm chart
  • Documentation and usage examples
  • CI/CD automation

Contributing

See CONTRIBUTING for details on submitting patches and contribution workflow.

Licensing

controlplane-operator is under the Apache 2.0 license. See the LICENSE file for details.

About

Run and manage Kubernetes control planes on top of an existing Kubernetes cluster.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors