Why Orkestra
Building a Kubernetes operator means writing Go: controllers, informers, reconcilers, finalizers, events, metrics. Every team does this. Every team builds the same infrastructure. The only part that differs is the business logic — and it is usually just 10 lines of YAML describing what you want.
Orkestra inverts this. You write a Katalog — a declarative YAML file that describes your CRDs and what should happen when a Custom Resource is created, updated, or deleted. Orkestra provides the runtime: informers, worker pools, drift correction, finalizers, events, metrics, health endpoints.
No Go. No code generation. No controller boilerplate.
What You Write
apiVersion: orkestra.orkspace.io/v1
kind: Katalog
metadata:
name: webapp-operator
spec:
crds:
webapp:
crdFile: ./crd.yaml
operatorBox:
default: true
onCreate:
deployments:
- image: "{{ .spec.image }}"
replicas: "{{ .spec.replicas }}"
reconcile: true
services:
- port: "80"
targetPort: "{{ .spec.port }}"
reconcile: true
That is a fully working operator. Orkestra reads the CRD from crdFile, applies it to the cluster, starts informers, and reconciles every WebApp CR into a Deployment and Service. Drift correction included.
What Orkestra Does
When you run ork run:
- Reads your Katalog and finds
crdFile: ./crd.yaml - Applies the CRD to the cluster automatically
- Starts informers watching for CRs of that type
- For each CR: resolves templates, creates resources, adds finalizers
- On every reconcile: corrects drift on resources marked
reconcile: true - On CR delete: cleans up all child resources
All of this from a YAML file.
Who It Is For
- Platform engineers building internal developer platforms without writing operators
- SREs who want declarative infrastructure, not Go code
- Application teams defining their own CRDs without learning controller patterns
Get Started
curl -sSL https://get.orkestra.sh | bash
ork init
ork run
# Orkestra reads katalog.yaml from the current directory and starts the runtime.
Further Reading
- Your CRD Is Enough — the idea behind Orkestra
- Why Orkestra — a deeper look at the problem
- FAQs — common questions, including comparisons with Kubebuilder and Helm