Umbral
Back to plugin directory
UH

Umbral Health

Official by Umbral contributors

liveness/readiness probes, DB checks, custom dependencies

official stable

About

Every load balancer and orchestrator asks the same two questions: are you alive, and are you ready for traffic? Umbral Health answers both with zero config — a liveness probe and a readiness probe that actually checks the database is reachable, not just that the process is running. Mount the plugin and your deploy target stops guessing whether to route to this instance.

Install

cargo add umbral-health

Wire it up

use umbral::prelude::*;
use umbral_health::HealthPlugin;

let app = App::builder()
    .database("default", pool)
    .plugin(HealthPlugin::default())   // /healthz + /ready
    .build()?;

Target: gate readiness on a dependency

Add your own check — a cache ping, a queue connection — and /ready only reports green when it passes.

use umbral_health::HealthPlugin;
use std::time::Duration;

HealthPlugin::default()
    .check(RedisPing)                       // your HealthCheck impl
    .check_timeout(Duration::from_secs(2)); // fail fast, don't hang the probe

What you get

  • /healthz liveness probe (is the process up?)
  • /ready readiness probe that verifies the DB is reachable
  • Pluggable custom HealthChecks for your own dependencies
  • Per-check timeouts so a hung dependency doesn't hang the probe
  • Zero config to start — mount and deploy

Usage

Mount `HealthPlugin::default()` for `/healthz` (liveness) and `/ready` (readiness, which verifies the DB). Add `.check(...)` for extra dependencies and `.check_timeout(...)` so a hung dependency fails the probe fast instead of hanging it.

plugin setup
cargo add umbral-health

Feature tracker

Per-feature shipping status, recorded in the directory.

5 of 5 shipped
Liveness probe shipped Stable

/healthz reports whether the process is alive.

Readiness probe shipped Stable

/ready checks the database and custom dependencies.

Custom health checks shipped Stable

Implement HealthCheck for Redis, queues, or third parties.

Per-check timeout shipped Stable

Hung dependencies fail fast instead of hanging readiness.

Structured failure reasons shipped Stable

Readiness failures carry a reason for operators.

Compatibility

Declared support per Umbral version and database backend.

No compatibility rows declared yet.

Community notes

0 notes in the discussion thread.

No notes yet. Be the first to share how this plugin works for you.

Reported issues

Bugs and abuse reports filed against this plugin.

Report an issue

No open issues

No issues have been reported against this plugin. Track upstream bugs on the maintainer's tracker, or report a directory problem to the Umbral team.