Skip to content

enumeray compute-runner

Run one typed, credential-free compute protocol operation on an execution host.

Use when: You install or qualify the runner boundary for SSH or Slurm; the connector normally invokes these operations automatically.

Role and prerequisites: Connector operator or connector developer. Install the same binary on the host under the approved execution account. The selected backend tools and prepared work directory are needed; API/database credentials are unnecessary.

Terminal window
printf '%s\n' '{"version":1,"action":"status","payload":null}' | \
enumeray compute-runner status --directory /srv/enumeray/work/assignment

Do not hand-invoke start to recover an ambiguous backend submission. Durable launch evidence prevents a second start. The CLI exposes protocol operations, not an arbitrary shell-command facility.

Input Meaning and use
<ACTION> Version-1 runner protocol operation. The connector normally chooses it: prepare/start/status/cancel and validation, input/output, allocation, log/archive operations. Protocol JSON is supplied on stdin; see runner protocol.
--directory <DIRECTORY> Directory owned by the approved execution account. Status and execution use the existing per-assignment directory; validate/protect-installations use the approved work root. The status example requires retained job.json and backend evidence.

Host commands use explicit connector credentials or the private journal and emit JSON results; compute-runner uses only its stdin protocol and directory. User profile and API override options do not apply.

Reads the versioned request from stdin and returns a versioned JSON response. The action must match the envelope, and status requires a previously prepared work directory. No API credential crosses this boundary.

Use drivers and runner protocol for each typed operation and install matching connector/runner versions.

Exact syntax, defaults and accepted values
Credential-free runner on an SSH host or Slurm submission host
Usage: enumeray compute-runner [OPTIONS] --directory <DIRECTORY> <ACTION>
Arguments:
<ACTION> Version-1 runner operation; read its protocol JSON from stdin and emit the result as JSON [possible values: identity, preflight, prepare, start, status, request-cancel, validate, protect-installations, write-input, write-collection, read-collection, transfer-probe, read-output, allocation-status, read-logs, build-log-archive, read-log-archive, cleanup-log-archive, cleanup-run]
Options:
--api <API> User API origin override; credentials never cross origins. Host/runner commands use explicit configuration
--directory <DIRECTORY> Action-specific approved directory: a retained job directory or the execution work root
--profile <PROFILE> Named local user API/login profile; host/runner commands use explicit configuration [default: default]
--config <CONFIG> Private user profiles file; defaults to $XDG_CONFIG_HOME/enumeray/profiles.json or ~/.config/enumeray/profiles.json
--json Emit user API results as JSON (NDJSON for following logs) and runtime errors on stderr; host/runner output follows its own protocol
--timeout <TIMEOUT> User API HTTP timeout in seconds; live logs use it for read inactivity. Does not limit execution time [default: 60]
-h, --help Print help

Documentation 205dcb3116ea · public sources 8c70356d340f · built .Download documentation identity.