ork plan

2 min read

Show what would change if you applied your local Katalog — without applying anything. ork plan computes the diff between your local definition and a deployed reference, and prints it. Nothing is created, updated, or deleted.

A source for the deployed state must be provided explicitly — ork plan never silently reaches out to the cluster.


Two sources for the deployed state

Local bundle file (--bundle) — no cluster needed

Reads the deployed Katalog from a local bundle YAML. A bundle is the output of ork generate bundle — a multi-document YAML that includes the Katalog ConfigMap alongside CRDs and other manifests. No cluster connection required.

ork plan --bundle bundle.yaml
ork plan -f katalog.yaml --bundle bundle.yaml

This is the recommended form for CI: store the bundle artifact from the last deploy, then run ork plan --bundle without cluster credentials.

Cluster ConfigMap (--cm) — requires cluster access

Reads the deployed Katalog from a ConfigMap in the cluster.

ork plan --cm orkestra-katalog
ork plan -f katalog.yaml --cm orkestra-katalog --namespace orkestra-system

--namespace defaults to orkestra-system when --cm is used.


Flags

FlagShortDefaultDescription
--file-fkatalog.yamlPath to the local Katalog to compare
--bundle-bPath to a bundle YAML — reads deployed state from it (no cluster needed)
--cmConfigMap name holding the deployed Katalog — requires cluster access
--namespace-norkestra-systemNamespace of the deployed Katalog ConfigMap

If neither --bundle nor --cm is given, ork plan exits with an error and prints usage guidance.


Output

Changes to apply:

  + CRD 'website'  (new)
  ~ CRD 'database'  (modified)
  - CRD 'legacy'  (removed)

  CRD 'cache':
    ~ workers:  1 → 3
    ~ resync:  30s → 1m0s

+ new, ~ modified, - removed. If no ConfigMap is found (first deploy), ork plan prints what would be applied fresh.

ork plan exits 0 when there are no changes and no error.


Cluster access

ork plan --bundle is fully offline — no cluster credentials needed. ork plan --cm reads a ConfigMap from the cluster but never writes anything.

ork run and ork gate are the only commands that actively manage cluster state. ork plan --cm reads only.


Examples

# Offline — compare against a bundle from the last deploy (recommended for CI)
ork plan --bundle bundle.yaml

# Compare against a Katalog in a live cluster
ork plan --cm orkestra-katalog

# Compare against a Katalog in a non-default namespace
ork plan --cm team-a-katalog --namespace platform-system

# Use a non-standard local Katalog file
ork plan -f my-katalog.yaml --bundle bundle.yaml