ork init

2 min read

Initialize a new Orkestra operator project.

ork init [project-name] [flags]

With no arguments, ork init creates a katalog.yaml in the current directory — a ready-to-run hello-website operator scaffold. Pass a name to create a new subdirectory. Use --pack to initialize from an example pack instead.

Packs are cached locally for fast repeated use and offline initialization.


Flags

FlagDescription
-p, --pack <name>Example pack to initialize (default: beginner)
-l, --listList available example packs
--clear-cacheClear all cached example packs
--refresh-cacheForce re-download of the selected pack

Global flags (--kubeconfig, --file, --debug, --verbose) are intentionally hidden for this command.


Example Packs

List available packs:

ork init --list

Available packs:

  • beginner — Simple CRDs, Deployments, Services
  • intermediate — Multi-resource patterns, when/anyOf, Komposer basics
  • advanced — Hooks, constructors, validation/mutation, registries
  • use-cases — Full-stack, cross-CRD flows, external gates, once-secrets

Use a specific pack:

ork init --pack advanced

Or init into a named subdirectory:

ork init my-operator --pack advanced

Cache

Packs are cached under:

~/.orkestra/packs/

Clear cache:

ork init --clear-cache

Force re-download:

ork init --refresh-cache

Project Structure

Running:

ork init --pack beginner

Produces (in current directory):

beginner/
  01-hello-website/
    crd.yaml
    katalog.yaml
    cr.yaml
    README.md
  02-configmap-operator/
    ...

Next Steps

Inside the example:

cd beginner/01-hello-website
ork run

Open Control Center:

ork control

Notes

  • --list, --clear-cache, and --refresh-cache do not require a project name.
  • Packs are version‑matched to the installed Orkestra CLI.
  • Initialization works offline if the pack is already cached.