ork create

3 min read

Create Orkestra infrastructure resources.

ork create <subcommand> [flags]

Subcommands

ork create cluster

Create a local kind cluster for Orkestra development or testing. Downloads kind automatically if it is not found in PATH and switches kubectl to the new cluster’s context.

ork create cluster [flags]

Flags

FlagDefaultDescription
--name <name>ork-playgroundName of the kind cluster to create
--count <n>1Number of clusters to create. When greater than 1, clusters are named <name>-1, <name>-2, … <name>-N.
--provider <provider>kindCluster provider — only kind is supported
--workers <n>0Number of worker nodes to add (0 = control-plane only)
--version <version>v0.27.0kind binary version to use (downloaded automatically if not in PATH)

Examples

Create the default playground cluster:

ork create cluster

Create a named cluster:

ork create cluster --name ork-e2e

Create three clusters for multi-cluster testing (ork-multi-1, ork-multi-2, ork-multi-3):

ork create cluster --name ork-multi --count 3

Create a multi-node cluster (1 control-plane + 3 workers):

ork create cluster --workers 3

Pin to a specific kind version:

ork create cluster --version v0.26.0

Behavior

  • Creates the kind cluster and waits for all nodes to be ready.
  • Switches the active kubectl context to the new cluster (kind-<name>).
  • Downloads the kind binary if not found in PATH — cached at ~/.orkestra/bin/kind-<version>.
  • Subsequent ork run, ork e2e, and kubectl commands operate against this cluster.
  • To remove the cluster: ork delete cluster --name <name>.

ork create pattern

Scaffold a complete Orkestra pattern directory: katalog.yaml, simulate.yaml, e2e.yaml, and README.md. In typed mode, also writes values.yaml, Makefile, and Dockerfile.

ork create pattern [flags]

Flags

FlagDescription
--add-hookTyped mode: include a hooks section in katalog.yaml (also writes values.yaml, Makefile, Dockerfile)
--add-constructorTyped mode: include a constructor section in katalog.yaml (also writes values.yaml, Makefile, Dockerfile)
--typedTyped mode: include both sections commented (also writes values.yaml, Makefile, Dockerfile)
-o, --output <dir>Output directory (default: current directory)

Files written

FileAlwaysTyped mode only
katalog.yamlYes
simulate.yamlYes
e2e.yamlYes
README.mdYes
values.yamlYes
MakefileYes
DockerfileYes

Examples

Scaffold a dynamic-mode pattern in the current directory:

ork create pattern

Scaffold into a new directory:

ork create pattern -o ./my-operator/

Typed mode with hooks:

ork create pattern --add-hook -o ./my-operator/

Typed mode with both sections (choose one after generation):

ork create pattern --typed

Behavior

  • katalog.yaml is generated by the same engine as ork generate katalog — the typed flags behave identically.
  • simulate.yaml and e2e.yaml are minimal starters that reference ./katalog.yaml and ./cr.yaml. Edit assertions before running.
  • e2e.yaml in typed mode includes valuesFiles: [./values.yaml] — the values file is how ork e2e passes the runtime image to the Orkestra Helm chart.
  • values.yaml sets runtime.image.repository and runtime.image.tag. Update these after make release before running ork e2e.
  • README.md contains numbered, actionable steps from edit to release. Typed mode adds the registry generation and build steps.
  • Makefile targets: registry, build, build-runtime, validate, simulate, e2e, docker, push, release, clean.
  • Dockerfile builds a production image using the runtime binary only (distroless base, no shell).

Notes

  • ork create cluster is intended for local development and CI environments, not production.
  • Only the kind provider is supported. Other providers (minikube, k3s) are not yet available.
  • To delete a cluster created with this command, use ork delete cluster.