mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
views: Add a /health healthcheck endpoint.
This endpoint verifies that the services that Zulip needs to function are running, and Django can talk to them. It is designed to be used as a readiness probe[^1] for Zulip, either by Kubernetes, or some other reverse-proxy load-balancer in front of Zulip. Because of this, it limits access to only localhost and the IP addresses of configured reverse proxies. Tests are limited because we cannot stop running services (which would impact other concurrent tests) and there would be extremely limited utility to mocking the very specific methods we're calling to raising the exceptions that we're looking for. [^1]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
This commit is contained in:
committed by
Tim Abbott
parent
e60a4c4d01
commit
5ee4b642ad
@@ -54,6 +54,7 @@ from zerver.views.documentation import IntegrationView, MarkdownDirectoryView, i
|
||||
from zerver.views.drafts import create_drafts, delete_draft, edit_draft, fetch_drafts
|
||||
from zerver.views.email_mirror import email_mirror_message
|
||||
from zerver.views.events_register import events_register_backend
|
||||
from zerver.views.health import health
|
||||
from zerver.views.home import accounts_accept_terms, desktop_home, home
|
||||
from zerver.views.hotspots import mark_hotspot_as_read
|
||||
from zerver.views.invite import (
|
||||
@@ -836,6 +837,9 @@ urls += [
|
||||
path("api/v1/", include(v1_api_mobile_patterns)),
|
||||
]
|
||||
|
||||
# Healthcheck URL
|
||||
urls += [path("health", health)]
|
||||
|
||||
# The sequence is important; if i18n URLs don't come first then
|
||||
# reverse URL mapping points to i18n URLs which causes the frontend
|
||||
# tests to fail
|
||||
|
Reference in New Issue
Block a user