Learning to Orkestrate

3 min read

Every Orkestra capability is demonstrated in a runnable example. This page is the map. Whether you are writing your first operator or converting an existing Go controller, start here.


Two commands to your first operator

ork init
ork run

No cluster? Add --dev to create a temporary kind cluster. Requires Docker.


Packs

Examples are grouped into packs. Pull any pack with ork init --pack <name>.

PackFocus
BeginnerFoundation — CRDs, templates, status, owner references
Intermediatewhen:, Komposer basics, state machines, CRD files
AdvancedAdmission, composition, escape hatches, autoscaling, cross-operator
Use-casesNormalize, enrich, profiles, full-stack patterns, external calls, motif composition
SecurityAdmission, deletion protection, namespace isolation
ResiliencePanic recovery, degraded state, operator isolation
Registry GuideDistribution — publish, version, gate, consume, and automate the full pattern lifecycle
Migration GuideMigrating an existing controller-runtime operator to Orkestra — five options, zero lock-in
Ecosystem GuideWrapping ArgoCD, cert-manager, Prometheus, and Crossplane with Orkestra abstraction layers

Running any example

Every example follows the same pattern:

ork init --pack <pack>
cd <pack>/<example>
ork run           # defaults to katalog.yaml, then komposer.yaml
ork control       # localhost:8081 · orkestra / orkestra

Pass -f <file> when the Katalog or Komposer uses a non-default filename. ork e2e defaults to e2e.yaml.


E2E test suites

Every example ships with a runnable e2e.yaml. Every pack ships with a root e2e.yaml that imports all sub-examples.

# Run a single example end-to-end
cd beginner/01-hello-website && ork e2e

# Run an entire pack in one command
ork e2e -f beginner/e2e.yaml
ork e2e -f intermediate/e2e.yaml
ork e2e -f security/e2e.yaml

Each suite creates a kind cluster, runs all examples in sequence, and tears everything down. No setup required beyond the ork CLI and Docker.

Each example has its own README.md. Follow it — it tells you exactly what to apply, what to observe, and what the expected output is. The README is the guide; the YAML files are the demonstration.


Which example to start with

New to Kubernetes operators

Know Kubernetes, new to Orkestra

Migrating from controller-runtime, Kubebuilder, or Operator SDK

Building a platform

Supply chain and policy enforcement

Enforcing org policy without Go

Status propagation and drift correction

Cross-operator data sharing

Autoscaling workers

Publishing and distributing operators

Supply chain verification


Available packs

ork init --list