Limitations

2 min read

The fake cluster has no external connectivity and no real API server. Some operator features require a real cluster or a compiled user binary.


Blocks that are inactive in simulation

BlockStatusWhat you see
external: HTTP callsActive by default — calls hit the real network; pass --skip-external to stub with empty 200Without --skip-external: real HTTP; with it: external.* fields are empty, note printed
cross: informer readsActive when peer CRs are in the CR fileInclude all sibling CRDs’ CRs separated by --- in the CR file. Each is seeded into a fake informer so cross.* fields populate. Without a peer CR, cross.* fields are empty and a note is printed.
fromNamespace / toNamespaces copiesAutomatically skipped — no real API server to read fromA note: line is printed for each skipped resource before the first cycle. All other resources in the same phase proceed normally. Use ork e2e to verify the copy against a live cluster.

The output still shows whether the declarative layer (templates, status fields, once:, forEach:) is correct given absent data.


Standard binary fallback

When running from the standard ork binary (not a custom operator binary), HookRegistry and ReconcilerRegistry are empty for your custom types. Hook bodies and constructor reconcile loops do not execute. Simulate falls back to GenericReconciler and runs the status layer only.

Build and use your own ork binary to get full hook and constructor simulation:

make registry && make build
ork simulate --cr cr.yaml

What simulate cannot cover

Feature--envtestork e2e
Real CRD schema enforcementYesYes
Status subresource (.status not patchable via normal patch)YesYes
Irregular plural resource namesYesYes
Real watch stream deliveryYesYes
Admission webhook validation/mutationNoYes
Real pod scheduling and readinessNoYes
Cross-namespace secret readsNoYes
Provider blocks (AWS, MongoDB)NoYes

--envtest covers most API-server correctness concerns without a running cluster. Use ork e2e for admission webhooks, real pod lifecycle, and provider integrations.


→ Back to: ork simulate