diff --git a/docs/how-tos/providing-images-for-img.rst b/docs/how-tos/providing-images-for-img.rst index 69a97d12d..03176376d 100644 --- a/docs/how-tos/providing-images-for-img.rst +++ b/docs/how-tos/providing-images-for-img.rst @@ -86,7 +86,7 @@ First, in addition to the minimal example, we need to store the media types and Next, we set modify the function to set the content type and filename. We use this opportunity to configure some basic, client-side caching. -For production, you probably want to configure additional caches, e.g. on the :ref:`reverse proxy `. +For production, you probably want to configure additional caches, e.g. on the :ref:`reverse proxy `. .. code-block:: postgres diff --git a/docs/index.rst b/docs/index.rst index 776d7d4bb..65f80aa4b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -123,7 +123,8 @@ Technical references for PostgREST's functionality. references/schema_cache.rst references/errors.rst references/configuration.rst - references/* + references/observability.rst + references/health_check.rst Explanations ------------ diff --git a/docs/references/health_check.rst b/docs/references/health_check.rst new file mode 100644 index 000000000..d51eed4ad --- /dev/null +++ b/docs/references/health_check.rst @@ -0,0 +1,30 @@ +.. _health_check: + +Health Check +############ + +You can enable a health check to verify if PostgREST is available for client requests. Also to check the status of its internal state. + +To do this, set the configuration variable :ref:`admin-server-port` to the port number of your preference. Two endpoints ``live`` and ``ready`` will then be available. + +The ``live`` endpoint verifies if PostgREST is running on its configured port. A request will return ``200 OK`` if PostgREST is alive or ``503`` otherwise. + +The ``ready`` endpoint also checks the state of both the Database Connection and the :ref:`schema_cache`. A request will return ``200 OK`` if it is ready or ``503`` if not. + +For instance, to verify if PostgREST is running at ``localhost:3000`` while the ``admin-server-port`` is set to ``3001``: + +.. tabs:: + + .. code-tab:: http + + GET localhost:3001/live HTTP/1.1 + + .. code-tab:: bash Curl + + curl -I "http://localhost:3001/live" + +.. code-block:: http + + HTTP/1.1 200 OK + +If you have a machine with multiple network interfaces and multiple PostgREST instances in the same port, you need to specify a unique :ref:`hostname ` in the configuration of each PostgREST instance for the health check to work correctly. Don't use the special values(``!4``, ``*``, etc) in this case because the health check could report a false positive. diff --git a/docs/references/admin.rst b/docs/references/observability.rst similarity index 87% rename from docs/references/admin.rst rename to docs/references/observability.rst index 0084c5f40..9342ed6b9 100644 --- a/docs/references/admin.rst +++ b/docs/references/observability.rst @@ -1,7 +1,7 @@ -.. _admin: +.. _observability: -Admin -##### +Observability +############# .. _pgrst_logging: @@ -284,34 +284,18 @@ For example, to only allow requests from an IP address to get the execution plan -- set this function on your postgrest.conf -- db-pre-request = filter_plan_requests +.. raw:: html -.. _health_check: + diff --git a/postgrest.dict b/postgrest.dict index 8bc7b5059..5b7ea3f0f 100644 --- a/postgrest.dict +++ b/postgrest.dict @@ -95,6 +95,7 @@ npm nxl nxr OAuth +Observability OpenAPI openapi ORM