All notable changes to Gjallar are documented in this file. The format is based on Keep a Changelog.
- On startup, purge stored results and incidents for monitors removed from the config. Fixes decommissioned hosts lingering in the incidents list with an incident that could never be resolved. Disabled monitors (still in config) keep their history.
- Signal notifier authentication: optional
token(Bearer) oruser/pass(HTTP Basic) for gateways that require auth.
- Clearer disabled-monitor UX: a distinct dashed DISABLED badge, a dashed card outline on the status page, and an explicit banner on the monitor detail page.
enabled: falseon a monitor: keep it on the status page (shown as a grey DISABLED badge, excluded from the up/total count) without running any check or alert. Defaults to enabled.
- Elasticsearch check type (
type: elasticsearch): index freshness measured as hours sincemax(timestamp_field), evaluated against a rule (e.g. "< 3"). Fields:url,index,timestamp_field,rule.
-checkflag: validate the configuration (monitors, rules, alert URLs) and exit without running any check or sending any alert.
- Redis check type (
type: redis): TCP connect, optionalAUTH,PINGmust answer+PONG. Fields:host,port(default 6379),password.
- Signal alerts (
type: signal) through any signal-cli-rest-api compatible gateway: POST to/v2/sendwith sendernumberandrecipients.
- Monitor groups: an optional
groupfield on monitors; the status page shows grouped monitors under a header with an up/total count.
${VAR}environment variable expansion in the config file, for secrets. Startup fails if a referenced variable is undefined.realertoption (defaults or per monitor): "still down" reminder alerts at the given interval during long outages.- Configuration reload on SIGHUP (
systemctl reload gjallar). A broken new config is rejected and the running configuration is kept. - GitHub Actions CI (vet, test, build).
- The embedded logo is now 128 px (~14 KB instead of ~1 MB), shrinking the binary and the page weight.
- Monitors: HTTP/HTTPS (status code, body regex, TLS certificate expiry), PostgreSQL, Oracle, ICMP ping, Prometheus metrics.
- Rule language:
> N,>= N,< N,<= N,== x,!= x,~ regex,rows > 0. - Status page (html/template + HTMX, black & red theme) with uptime bars, latency sparkline and incident history.
- SQLite storage with configurable retention.
- Alerting via shoutrrr (Telegram, SMTP, ntfy, Discord, Slack, webhooks, ...) and the Free Mobile SMS API, with failure thresholds and recovery notifications.
- Single static CGO-free binary; YAML configuration; systemd unit example.