diff --git a/authentik/root/monitoring.py b/authentik/root/monitoring.py index f3c98b5f5..a70749880 100644 --- a/authentik/root/monitoring.py +++ b/authentik/root/monitoring.py @@ -58,6 +58,13 @@ 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""" diff --git a/authentik/root/urls.py b/authentik/root/urls.py index a35061665..2c5baf3b4 100644 --- a/authentik/root/urls.py +++ b/authentik/root/urls.py @@ -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 MetricsView, ReadyView +from authentik.root.monitoring import LiveView, MetricsView, ReadyView LOGGER = get_logger() @@ -44,5 +44,6 @@ 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"), ]