ork run

2 min read

Start the Orkestra Runtime.

ork run [<name>:<version>]
ork run --file <path>

Merges all provided katalog files, validates them, then starts the operator runtime. Without a positional ref or -f flag, looks for katalog.yaml or komposer.yaml in the current directory.


Flags

FlagDefaultDescription
--file, -fPath(s) to katalog.yaml (repeatable). Takes precedence over the positional ref.
--devfalseCreate a local Kind cluster if none is reachable.
--apply-crfalseApply crd.yaml and cr.yaml from the pattern directory before starting the runtime. Only applies to the example resources shipped with the pattern — not to your own CRDs.
--use-komposerfalseWhen running from a positional OCI ref, use komposer.yaml from the pulled pattern instead of katalog.yaml.
--refreshfalseRe-pull the pattern from the registry even if already cached.
--dev-serverfalseStart the mock dev server for external: examples.
--dev-server-port8090Port for the mock dev server.

Running a pattern from the registry

ork run postgres:v1.0.0

If the pattern is not in the local cache, it is pulled first. The short name postgres:v1.0.0 resolves against ORK_REGISTRY (default: ghcr.io/orkspace/orkestra-registry/patterns/katalogs). A full OCI ref (oci://ghcr.io/...) is used as-is.

# Pull + start on a local cluster — bring your own CR
ork run postgres:v1.0.0 --dev

# Pull + apply example CR + start runtime — full batteries-included
ork run postgres:v1.0.0 --dev --apply-cr

# Run via the pattern's komposer instead of its katalog
ork run postgres:v1.0.0 --dev --use-komposer

# Force re-pull before running
ork run postgres:v1.0.0 --dev --refresh

--apply-cr applies crd.yaml then waits for the CRD to be established, then applies cr.yaml. The runtime starts after this sequence. The operator will have a CR waiting to reconcile on its first cycle.


Running a local katalog

# Current directory (katalog.yaml or komposer.yaml auto-detected)
ork run

# Explicit path
ork run -f ./my-operator/katalog.yaml

# Multiple katalogs merged
ork run -f ./service-a/katalog.yaml -f ./service-b/katalog.yaml

Registry resolution

export ORK_REGISTRY=ghcr.io/myorg/katalogs

Set ORK_REGISTRY to pull from a private registry. Unset, the default Orkestra registry is used. Authentication reads ~/.docker/config.json — run docker login <registry> first.


Endpoints

Once running, the runtime exposes:

/health
/ready
/metrics
/katalog
/katalog/{crd}
/katalog/{crd}/cr
/katalog/{crd}/cr/<ns>/<name>
/katalog/{crd}/health