Files
Checkmate/server
gorkem-bwl 3b03850a3b fix(monitors): keep ignoreTlsErrors effective for proxied checks
Review found that the proxy path silently dropped ignoreTlsErrors.
rejectUnauthorized was passed to the HttpsProxyAgent constructor, where it
governs the socket to the proxy rather than the tunnelled handshake with the
target. Verified directly: the value lands in connectOpts, while the target
handshake reads got's per-request https options, which were unset and so
defaulted to strict.

The consequence was worse than a no-op. A monitor with ignoreTlsErrors
against a self-signed endpoint works today; configuring a proxy would have
made it fail verification, flip to down and fire a false incident with
notifications. Stating the option per request fixes it, and the agent cache
keeps its TLS split so a relaxed agent is never shared with a strict monitor.

Also from review:

- A fully-invalid PROXY_MONITOR_TYPES disabled proxying entirely, which in a
  restricted-egress deployment would take every HTTP monitor down at once —
  the exact failure the parser was meant to prevent. It now falls back to the
  defaults and warns loudly. "none" remains the way to disable deliberately.
- The "none" sentinel only matched when it was the sole entry, so "none,http"
  half-enabled proxying. It is now honoured wherever it appears.
- "unknown" is a real MonitorType but never a deliberate choice, so it is
  reported as a typo rather than as an unproxyable type.
- Dropped the unused warning field from ProxyResolution.
- Documented that lowercase proxy variables are honoured and take precedence,
  which matters on base images that already set them.

Adds 10 tests, including the request-level TLS assertions the previous suite
lacked. Verified by reverting the fix: both TLS tests fail without it.
2026-08-20 10:46:25 -04:00
..
2026-07-09 10:21:09 -07:00
2025-04-20 11:29:53 -07:00
2025-09-22 12:53:44 -07:00
2025-04-20 11:29:53 -07:00
2025-04-20 11:29:53 -07:00
2026-05-29 10:33:15 -07:00
2026-06-09 12:35:57 -07:00
2026-06-09 12:35:57 -07:00
2025-04-20 11:29:53 -07:00
2026-06-09 12:35:57 -07:00

Checkmate backend

The backend service for Checkmate, an open source uptime and infrastructure monitoring application

This directory contains the backend of Checkmate, which handles data processing, storage, and API services for the Checkmate monitoring tool. The backend is responsible for managing uptime checks, handling real-time alerts, and storing historical monitoring data.

Checkmate's backend is designed to be lightweight and scalable, ensuring reliable performance even with a high number of active monitors.

Installation & documentation

For setup instructions, configuration details, and deployment guidelines, please visit our official documentation at docs.checkmate.so.