Skip to content

CLI flags

Every flag below also works as an environment variable and has exactly one default — no surprise conditional defaults, no flag that means something different depending on another flag (target-specific requirements are enforced separately, see Topologies).

flag > env > default. Any flag -foo-bar has an env var JAQUE_FOO_BAR (uppercased, - becomes _, JAQUE_ prefixed) — the mapping is mechanical, so a newly added flag gets env support without anyone remembering to wire it up.

Terminal window
JAQUE_LISTEN=0.0.0.0:8080 jaque -config jaque.cue
Flag Default Env var What it does
-config "" JAQUE_CONFIG Path to the CUE config file.
-listen 127.0.0.1:8080 JAQUE_LISTEN Address for the dashboard, API and /metrics; empty disables all three.
-log-level info JAQUE_LOG_LEVEL debug, info, warn, error. debug logs every check result and a failing legacy plugin’s stderr/exit detail.
-log-format text JAQUE_LOG_FORMAT text or json.
-global-concurrency 50 JAQUE_GLOBAL_CONCURRENCY Maximum checks running at once, process-wide.
-host-concurrency 4 JAQUE_HOST_CONCURRENCY Maximum checks running at once per host.
Flag Default Env var What it does
-eventlog memory JAQUE_EVENTLOG Transport: memory, file://<path> (embedded, durable), nats://<host:port> (external JetStream).
-eventlog-codec json JAQUE_EVENTLOG_CODEC Wire codec (json is the only one shipped).
-retain false JAQUE_RETAIN Require the event log to survive a restart; fails fast at startup if -eventlog doesn’t guarantee persistence.
-eventlog-retain-check-executed 168h (7d) JAQUE_EVENTLOG_RETAIN_CHECK_EXECUTED Retention for check_executed events; 0 means unbounded.
-eventlog-retain-state-changed 0 JAQUE_EVENTLOG_RETAIN_STATE_CHANGED Retention for state_changed; 0 (unbounded) is what Nagios-style history retention needs.
-eventlog-retain-reachability-changed 0 JAQUE_EVENTLOG_RETAIN_REACHABILITY_CHANGED Retention for reachability_changed; 0 unbounded.
-compaction-interval 1h JAQUE_COMPACTION_INTERVAL How often the embedded transport’s retention pass runs.
-events-out "" JAQUE_EVENTS_OUT Path to write the event log as JSON lines; empty disables it.
-snapshot-out "" JAQUE_SNAPSHOT_OUT Path to write the final status snapshot at shutdown, same shape as /status.json; empty disables it.
Flag Default Env var What it does
-command-file "" JAQUE_COMMAND_FILE Path to the Nagios-compatible FIFO for passive results; created if absent; empty disables it.
-api-token "" JAQUE_API_TOKEN Bearer token required on the command API; empty means writes are open.
-livestatus-listen "" JAQUE_LIVESTATUS_LISTEN TCP address for the Livestatus server; empty disables it.
-livestatus-socket "" JAQUE_LIVESTATUS_SOCKET UNIX socket path for the Livestatus server; empty disables it.
Flag Default Env var What it does
-sink "" JAQUE_SINK DEPRECATED — use the CUE config’s sinks: block instead. Comma-separated perfdata sink URLs (clickhouse://..., remotewrite(s)://...); each URL is translated into a synthetic sink named sink-0, sink-1, … and merged into the CUE sinks: block.
-sinks "" JAQUE_SINKS Comma-separated names of configured sinks this process runs; empty runs all.
-sink-batch-size 1000 JAQUE_SINK_BATCH_SIZE Rows buffered before a sink write; the default a sink uses unless its CUE spec sets its own batch_size.
-sink-flush-interval 5s JAQUE_SINK_FLUSH_INTERVAL Max time a partial batch waits before being flushed; the default a sink uses unless its CUE spec sets its own flush_interval.
-archive "" JAQUE_ARCHIVE DEPRECATED — use the CUE config’s sinks: block (type: archive) instead. Event log archive (file://<dir> or s3://...); translated into a synthetic sink named archive of type: archive.
-archive-segment-bytes 67108864 (64 MiB) JAQUE_ARCHIVE_SEGMENT_BYTES Uncompressed size that triggers sealing a segment.
Flag Default Env var What it does
-notify-workers 4 JAQUE_NOTIFY_WORKERS Delivery shards, hashed per object.
-notify-queue 64 JAQUE_NOTIFY_QUEUE Bounded buffer per shard; a full shard blocks, never drops.
-notify-delivery embedded JAQUE_NOTIFY_DELIVERY embedded (this process delivers) or external (a -target notifier does).
-smtp-host "" JAQUE_SMTP_HOST SMTP relay host; empty falls back to the system mail binary.
-smtp-port 25 JAQUE_SMTP_PORT SMTP relay port.
-smtp-user "" JAQUE_SMTP_USER SMTP auth username; empty disables auth.
-smtp-pass "" JAQUE_SMTP_PASS SMTP auth password.
-smtp-from "" JAQUE_SMTP_FROM SMTP envelope-from address.
-telegram-token "" JAQUE_TELEGRAM_TOKEN Telegram bot token; empty makes every telegram contact fail permanently.
Flag Default Env var What it does
-target all JAQUE_TARGET Process role: all, engine, worker, ui, sink, notifier. See Topologies.
-queue "" JAQUE_QUEUE Work queue (memory or nats://<host:port>); required for -target engine/worker.
-zones default JAQUE_ZONES Comma-separated zones a worker serves (-target worker only).
-coordination memory JAQUE_COORDINATION Coordination store: memory (single engine) or nats://<host:port> (shared by every engine).
-heartbeat-ttl 10s JAQUE_HEARTBEAT_TTL Membership key lifetime; each engine heartbeats at a third of it.
-engine-id hostname JAQUE_ENGINE_ID This engine’s identifier on the work queue (its reply subject).
-sink-id hostname JAQUE_SINK_ID This -target sink instance’s identifier on sink/membership/.
-notifier-id hostname JAQUE_NOTIFIER_ID This -target notifier instance’s identifier on notifier/membership/.
Flag Default Env var What it does
-ui-shutdown-timeout 5s JAQUE_UI_SHUTDOWN_TIMEOUT How long to wait for the UI server to shut down gracefully once the loop stops.
-shutdown-drain-timeout 10s JAQUE_SHUTDOWN_DRAIN_TIMEOUT How long to wait for followers to catch up to the event log before closing it.