Community
Transport-aware health checks come to Mercure. Kubernetes (and any other orchestrator) can now detect when a hub's transport connection is actually broken, not just that the Caddy process is alive. This is especially valuable for Enterprise deployments backed by Redis, Postgres, Kafka, or Pulsar — but it also brings a small improvement for users of Bolt or the local transport. This release also adds HTTProute support and configurable deployment annotations in the Helm chart.
✨ New Features
- Transport-aware health check endpoints — a new
TransportHealthCheckerinterface that transports can implement, and a newadmin.api.mercure_healthCaddy admin API module exposing/mercure/health/{ready,live}(aggregate) and/mercure/health/{hub}/{ready,live}(per-hub) endpoints. Hubs can be named via the newnameCaddyfile directive. The Helm chart now enables transport-aware probes by default, with fallback to the legacy/healthzwhenhealthCheck.enabled=false. The/healthzendpoint on the HTTP port is now deprecated — it only reflects that Caddy is running, not transport connectivity. Transports that don't implement the interface (Bolt, Local) are considered always-healthy. by @dunglas in #1201 - Helm: Add support for HTTProute as an alternative to Ingress for Gateway API-based clusters by @dunglas in #1122
- Helm: Allow configuring annotations on the Deployment resource by @vmignot in #1160
Enterprise
All Enterprise transports — Redis, Postgres, Kafka, and Pulsar — now implement the new TransportHealthChecker interface, so the new /mercure/health/{ready,live} endpoints report actual transport connectivity and not just process liveness. This is the main reason the feature was built: production clusters using managed brokers finally get accurate readiness/liveness signals.
If you'd like to try Mercure Enterprise in your cluster, reach out to contact@mercure.rocks for access, SLA-backed support, or the managed Cloud offering.
💖 New Contributors
Full Changelog: v0.22.1...v0.23.0