healthchex
healthchex copied to clipboard
A set of Plugs to be used for Kubernetes healthchecks.
healthchex
Kubernetes Liveness and Readiness Probes as Elixir Plugs.
Installation
The package can be installed by adding healthchex
to your list of dependencies in mix.exs
:
def deps do
[
{:healthchex, "~> 0.2"}
]
end
Usage
To keep the documentation up to date, I decided to not duplicate it here, but include all usage examples as test cases.
Have a look at test/probes
directory to see how you can use these Plugs.
Basic
defmodule MyApp.Router do
use Phoenix.Router
forward("/health/live", Healthchex.Probes.Liveness)
forward("/health/ready", Healthchex.Probes.Readiness)
pipeline :api do
plug :accepts, ["json"]
end
scope "/api", MyApp do
pipe_through :api
end
end
With custom readiness probe
defmodule MyApp.Router do
use Phoenix.Router
forward "/health/live", Healthchex.Probes.Liveness
forward "/health/ready", Healthchex.Probes.Readiness, probe: &Domain.db_ready?/0
pipeline :api do
plug :accepts, ["json"]
end
scope "/api", MyApp do
pipe_through :api
end
end