Dev mode
Dev mode runs management, the edge and an embedded Temporal in one process on SQLite. It has the same APIs and the same security as a cluster, so what works in dev mode works in production.
orchestrator-zero server start --dev --data-dir .oz0/dev
The first start in a data directory creates:
- a cluster named
devwith its master key and CAs, - the tenant
default, - an operator context at
.oz0/dev/operator/context.json, - a reusable join token at
.oz0/dev/join-token, - the web UI's
adminaccount, with its password in.oz0/dev/admin-password.
Without --data-dir, everything lives in a temporary directory that is removed when the server stops.
The operator's certificate is valid for 90 days. Each start issues a new one when it is missing or has less than 30 days left, so a dev data directory keeps working.
Join a node to it
export OZ0_CONTEXT=.oz0/dev/operator/context.json
OZ0_JOIN_TOKEN="$(cat .oz0/dev/join-token)" orchestrator-zero-node join --server https://127.0.0.1:7443
orchestrator-zero-node run --runtime-bundle "$OZ0_RUNTIME_BUNDLE"
In a third terminal, check that the node is there and run something:
export OZ0_CONTEXT=.oz0/dev/operator/context.json
orchestrator-zero node list
orchestrator-zero job run --task-queue oz0.default --workflow HelloWorkflow --input '"you"'
Ports in dev mode
Dev mode binds to 127.0.0.1 unless you pass --ip.
| Port | What |
|---|---|
| 7233 | The edge's Temporal proxy, for nodes |
| 7443 | The edge's HTTPS API: join, control stream, artifacts, LLM gateway, runtime API |
| 7234 | The embedded Temporal frontend (only the edge uses it) |
| 8233 | The Temporal web UI; --temporal-ui-port 0 turns it off |
| 8443 | Management: the web UI and the admin API, for the CLI |
orchestrator-zero dev for plugin authors
If you are building a plugin, orchestrator-zero dev is quicker: it starts a dev server on free ports, joins a node, installs your plugin from its working tree and reinstalls it on every change. See Develop and test.