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

dunglas / mercure / 24511556802
84%
master: 93%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 16 Apr 2026 01:00PM UTC
Jobs 1
Files 23
Run time 1min
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

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

Jobs
ID Job ID Ran Files Coverage
1 0 - 24511556802.1 16 Apr 2026 01:00PM UTC 23
83.97
GitHub Action Run
Source Files on build 24511556802
  • Tree
  • List 23
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • c20e815a on github
  • Prev Build on main (#24503156398)
  • Next Build on main (#24514296450)
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