joewilliams / k8s_traffic_plug

Traffic endpoint and graceful shutdown for Elixir Plug apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kubernetes Traffic Plug

Support for graceful server shutdown under Kubernetes termination life-cycle.

The plug supports a /__traffic endpoint which normally returns 200. When the VM receives a SIGTERM signal, the endpoint starts returning HTTP error code 500, which, when used with an HTTP readinessProbe, ensures that traffic is routed away from the pod, before a delayed graceful shutdown begins.

See modules for detailed documentation, also my blog post, Graceful shutdown on Kubernetes with signals & Erlang OTP 20.

Installation

def deps do
  [
    {:k8s_traffic_plug, github: "Financial-Times/k8s_traffic_plug"}
  ]
end

About

Traffic endpoint and graceful shutdown for Elixir Plug apps


Languages

Language:Elixir 78.9%Language:Erlang 21.1%