Skip to main content

Configuration

The full worker.toml schema for zisk-worker, documenting the [worker], [coordinator], [connection], and [logging] tables — identity, advertised compute capacity, coordinator URL, connection tuning, and logging. Backend selection happens via CLI flags, not TOML.

The TOML file describes zisk-worker's long-lived configuration. Every table is optional; if you omit a key, the built-in default applies. CLI flags and ZISK_WORKER_* environment variables override values set here. See CLI & environment for the full flag list.

worker.toml
[worker]
# worker_id = "worker-a" # default: random UUID; pin for stable logs
compute_capacity = { compute_units = 10 }
environment = "production"
inputs_folder = "/var/lib/zisk-worker/inputs" # install-script override; built-in default is "."

[coordinator]
url = "http://coord.lan:50051"

[connection]
reconnect_interval_seconds = 5
heartbeat_timeout_seconds = 30

[logging]
level = "info"
format = "json" # built-in default is "pretty"; the install script writes "json" for aggregator-friendly output

The worker has no [backend] table — backend selection (Assembly vs Rust emulator, GPU, Plonk) happens entirely via CLI flags, not TOML.


[worker]

Identity and how much work this worker is willing to take. The compute_units value is an abstract weight the coordinator uses when assigning segments; a worker advertising 10 units gets roughly twice the load of one advertising 5. See Compute units explained on the overview page for sizing guidance.

SettingDefaultNotes
worker_idrandom UUIDPin to e.g. the hostname so log correlation works at scale. CLI: --worker-id.
compute_capacity.compute_units10One unit per physical CPU core (minus two for OS overhead), plus one per GPU stream. CLI: --compute-capacity.
environmentdevelopmentdevelopment or production.
inputs_folder. (current dir)Intermediate input files. The Linux install script overrides this to /var/lib/zisk-worker/inputs.

[coordinator]

SettingDefaultNotes
urlhttp://127.0.0.1:50051gRPC URL of the coordinator's worker-facing port. CLI: --coordinator-url. Use HTTPS in prod.

[connection]

SettingDefaultNotes
reconnect_interval_seconds5Backoff between reconnect attempts when the coordinator is unreachable.
heartbeat_timeout_seconds30How long to wait for a heartbeat before treating the connection dead and re-initiating registration.

[logging]

Same shape as the coordinator's [logging]level, format, optional file_path.