root: handle liveness probe in router

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2021-10-12 14:54:15 +02:00
parent 48f96ea55f
commit d39dbc7287
3 changed files with 4 additions and 9 deletions

View file

@ -58,13 +58,6 @@ class MetricsView(View):
return ExportToDjangoView(request)
class LiveView(View):
"""View for liveness probe, always returns Http 204"""
def dispatch(self, request: HttpRequest) -> HttpResponse:
return HttpResponse(status=204)
class ReadyView(View):
"""View for readiness probe, always returns Http 204, unless sql or redis is down"""

View file

@ -4,7 +4,7 @@ from structlog.stdlib import get_logger
from authentik.core.views import error
from authentik.lib.utils.reflection import get_apps
from authentik.root.monitoring import LiveView, MetricsView, ReadyView
from authentik.root.monitoring import MetricsView, ReadyView
LOGGER = get_logger()
@ -44,6 +44,5 @@ for _authentik_app in get_apps():
urlpatterns += [
path("metrics/", MetricsView.as_view(), name="metrics"),
path("-/health/live/", LiveView.as_view(), name="health-live"),
path("-/health/ready/", ReadyView.as_view(), name="health-ready"),
]

View file

@ -39,6 +39,9 @@ func (ws *WebServer) configureProxy() {
}
ws.proxyErrorHandler(rw, r, fmt.Errorf("proxy not running"))
})
ws.m.Path("/-/health/live/").HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
rw.WriteHeader(204)
})
ws.m.PathPrefix("/").HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
if !ws.p.IsRunning() {
ws.proxyErrorHandler(rw, r, fmt.Errorf("authentik core not running yet"))