Skip to content

Kubernetes

jaque ships a Helm chart alongside the binary — no separate release cadence to track between the two.

The image and chart are published only to the project’s private registry today; public distribution is undecided.

  • config — the CUE mounted as a ConfigMap at /etc/jaque/config.cue. Defaults to a single self-check ICMP against 127.0.0.1, using the same hosts/check idiom shown in the Quickstart.
  • persistence.enabled — mounts a PVC at /data and points the event log at file:///data/eventlog. Without it, the engine runs in memory and loses history on every pod restart.
  • apiToken / existingApiTokenSecret — bearer token for the command API, backed by a chart-managed Secret or one already in the cluster.
  • telegramToken / existingTelegramTokenSecret — same pattern, for telegram contacts.
  • livestatus.enabled — opens a second Service port (6557) so Thruk, NagVis, or WOCU can connect over Livestatus without touching their own config.
Terminal window
kubectl port-forward svc/jaque 8080:8080

then open http://localhost:8080/.

The chart defaults to replicas: 1 because, with -eventlog memory/file:// and -coordination memory, state belongs to a single process. Going higher needs -eventlog nats://... and -coordination nats://... pointed at the same JetStream, plus a distinct -engine-id per pod (in a StatefulSet, the pod name works) — see Cluster and coordination for what that buys: multiple engines sharing the log, splitting object ownership by rendezvous hashing, and failing over to each other.

A distroless image (gcr.io/distroless/static-debian12:nonroot) — no shell, no package manager, runs as a non-root user. See Docker for a plain docker run example.