Skip to content

Quickstart

The fastest way to know if jaque is worth your time is to run it against your own machine and watch it decide, on its own, whether anything is wrong.

During the pre-alpha there is no public binary and no public source: access to the source is granted by hand.

For readers with access, build it from the repo root:

Terminal window
go build ./cmd/jaque

just build does the same. Building requires Go 1.26.4, the toolchain version pinned in go.mod.

Nagios configs, once you’ve written a handful, all look the same: a host, one address, one check. jaque’s CUE version is exactly that shape, minus the ceremony. Save this as jaque.cue:

hosts: gw: {
address: "192.168.1.1"
check: {type: "icmp", host: address}
}

That’s a complete, loadable config: one host named gw, checked by ICMP ping every 60 seconds (the schema default), three attempts before a failure goes hard. Adjust the address to something on your own network, or point it at 127.0.0.1 to try it against the machine you’re on.

The icmp check uses unprivileged datagram sockets; on most Linux distributions you need to run sudo sysctl -w net.ipv4.ping_group_range="0 2147483647" (or the narrower group range you prefer) or the first example below returns UNKNOWN with permission denied.

Terminal window
jaque -config jaque.cue

You’ll see one structured log line per state transition. Nothing is notified yet unless the config wires up contacts — a fresh run just shows the engine deciding OK/WARNING/CRITICAL for each object as checks come in.

With the default -listen 127.0.0.1:8080:

  • The dashboard at http://127.0.0.1:8080/ — a small SPA showing every host and service, its current state, and quick actions (acknowledge, downtime). See Dashboard.
  • /metrics on the same port — Prometheus-format metrics about the engine itself (event log lag, scheduler drift, check durations). See Metrics.
  • /status.json — a machine-readable snapshot, mostly useful for liveness probes.

Set -listen "" to turn all three off.

From here, CUE in practice walks through adding services, sharing templates across hosts, and wiring up notifications — and Concepts explains the state machine underneath what you just watched run.