Kubernetes Liveness and Readiness Probes as Elixir Plugs.
The package can be installed by adding healthchex to your list of dependencies in mix.exs:
def deps do
[
{:healthchex, "~> 0.2"}
]
endTo 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.
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
enddefmodule 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