• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dunglas / mercure / 24511556802 / 1
84%
master: 93%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 16 Apr 2026 01:04PM UTC
Files 23
Run time 0s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Apr 2026 12:58PM UTC coverage: 83.973%. Remained the same
24511556802.1

push

github

web-flow
feat(transport): add transport-aware health check endpoints (#1201)

* feat(transport): add transport-aware health check endpoints

Expose readiness and liveness probes via the Caddy admin API so
Kubernetes (and other orchestrators) can detect when a hub's transport
connection is actually healthy, not just that the process is running.

- New TransportHealthChecker optional interface (Ready / Live) that
  transports can implement to report their state.
- New admin.api.mercure_health Caddy module exposing
  /mercure/health/{ready,live} aggregate endpoints and
  /mercure/health/{name}/{ready,live} per-hub endpoints on the admin
  API (port 2019).
- Caddyfile name directive for identifying hubs in per-hub endpoints
  and future metrics labels (defaults to "default").
- Helm chart: transport-aware probes enabled by default, with fallback
  to the legacy /healthz on HTTP port when healthCheck.enabled=false.
  Admin port always exposed; metrics.port kept for backward compat.
- /healthz on the HTTP port is deprecated (only checks that Caddy is
  running, not transport connectivity).

Transports that do not implement the interface (Bolt, Local) are
considered always-healthy; the Enterprise transports (Redis, Postgres,
Kafka, Pulsar) implement it in the Mercure Enterprise repository.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(chart): use exec probes for health checks

The Caddy admin API binds to localhost:2019 by default for security,
so httpGet probes from the kubelet fail with connection refused (the
kubelet connects to the pod IP, not localhost inside the container).

Switch to exec probes that run curl from inside the container, which
matches the pattern already used by the preStop hook.

Also update the documentation to reflect this and note the alternative
(binding admin to 0.0.0.0, with the security caveat).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(health): address code review feedbac... (continued)

1729 of 2059 relevant lines covered (83.97%)

49.9 hits per line

Source Files on job 0 - 24511556802.1
  • Tree
  • List 23
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 24511556802
  • c20e815a on github
  • Prev Job for on main (#24503156398.1)
  • Next Job for on main (#24514296450.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc