Orkestra Examples
A progressive set of examples — from a single Deployment to multi-source composition, autoscaling, cross-operator dependencies, and full platform stacks built from custom resources.
The fastest way to start
ork init my-operator --pack beginner
cd my-operator/examples/beginner/01-hello-website
ork run --dev
The examples are embedded in the CLI binary — no internet connection needed. They are extracted instantly into your project folder.
Choose your pack
ork init my-operator # defaults to beginner
ork init my-operator --pack beginner # Simple CRDs, Deployments, Services
ork init my-operator --pack intermediate # Multi-resource, conditions, Komposer
ork init my-operator --pack advanced # Hooks, constructors, validation, registries, autoscale, custom resources
ork init my-operator --pack security # Deletion protection, namespace isolation, admission webhooks
ork init my-operator --pack use-cases # Full-stack, cross-CRD, external gates, multi-region
ork init my-operator --pack rollback # Zero-config and configurable failure recovery
ork init my-operator --pack developer # Deploy your app without writing YAML
List all packs:
ork init --list-packs
After init, your examples live at:
my-operator/
└── examples/
└── <pack>/
└── <example>/
├── README.md step-by-step walkthrough
├── katalog.yaml operator definition
├── crd.yaml the CRD to install
├── cr.yaml sample custom resource
└── cleanup.sh removes everything the example created
Learning Path
Beginner — --pack beginner
Start here. No cluster setup beyond the ork CLI.
You know the basics. Now use more of Orkestra's surface.
Advanced — --pack advanced
Production patterns. Admission policy, registry composition, Go hooks, autoscaling, custom resources.
16 — Custom Resources (sub-examples)
This example set has its own progression, from a single child CR all the way to full platform composition:
Security — --pack security
Protect your cluster from accidental deletions, rogue workloads, and bad input.
Use Cases — --pack use-cases
Real-world patterns combining multiple Orkestra features.
| Example |
What you learn |
| Full-Stack App |
Frontend + backend + database composed as one CR. |
| Kubebuilder Conversion |
Migrate an existing Kubebuilder operator to Orkestra. |
| Multi-Region Map |
Deploy the same workload across multiple regions using forEach. |
| Rollback |
Zero-config and configurable failure recovery. |
Rollback — --pack rollback
Focus on failure recovery patterns.
Developer — --pack developer
Deploy your app to Kubernetes without writing operator code or knowing CRDs.
Prerequisites
All examples:
ork CLI — curl get.orkestra.sh | bash
- A running Kubernetes cluster (
kind create cluster works for every example here)
kubectl configured
Advanced typed examples require:
- Go 1.22+ for hook and constructor examples
Running any example
# 1. Pick a pack and scaffold your project
ork init my-operator --pack beginner
cd my-operator/examples/beginner/01-hello-website
# 2. Start the operator
ork run --dev
# 3. Watch the resources appear
kubectl get websites -n default
kubectl get deployments -n default
kubectl get services -n default
# 4. Cleanup
chmod +x cleanup.sh
./cleanup.sh
Each example's README.md has the exact commands for that example.