Add documentation on the minimal health check

This commit is contained in:
Laurence Isla
2022-02-23 17:25:07 -05:00
committed by GitHub
parent fbe317b244
commit 4aff0caa59
2 changed files with 47 additions and 4 deletions
+29
View File
@@ -256,6 +256,35 @@ Schema Reloading
Changing the schema while the server is running can lead to errors due to a stale schema cache. To learn how to refresh the cache see :ref:`schema_reloading`. Changing the schema while the server is running can lead to errors due to a stale schema cache. To learn how to refresh the cache see :ref:`schema_reloading`.
.. _health_check:
Health Check
------------
You can enable a minimal health check to verify if PostgREST is available for client requests and 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
Daemonizing Daemonizing
=========== ===========
+18 -4
View File
@@ -105,6 +105,7 @@ It's not possible to change :ref:`env_variables_config` for a running process an
The following settings will not be reloaded. You will need to restart PostgREST to change those. The following settings will not be reloaded. You will need to restart PostgREST to change those.
* :ref:`admin-server-port`
* :ref:`db-uri` * :ref:`db-uri`
* :ref:`db-pool` * :ref:`db-pool`
* :ref:`db-pool-timeout` * :ref:`db-pool-timeout`
@@ -145,6 +146,7 @@ List of parameters
======================== ======= ================= ========== ======================== ======= ================= ==========
Name Type Default Reloadable Name Type Default Reloadable
======================== ======= ================= ========== ======================== ======= ================= ==========
admin-server-port Int
app.settings.* String Y app.settings.* String Y
db-anon-role String Y db-anon-role String Y
db-channel String pgrst Y db-channel String pgrst Y
@@ -174,6 +176,18 @@ server-unix-socket String
server-unix-socket-mode String 660 server-unix-socket-mode String 660
======================== ======= ================= ========== ======================== ======= ================= ==========
.. _admin-server-port:
admin-server-port
-----------------
=============== =======================
**Environment** PGRST_ADMIN_SERVER_PORT
**In-Database** `n/a`
=============== =======================
Specifies the port for the :ref:`health_check` endpoints.
.. _app.settings.*: .. _app.settings.*:
app.settings.* app.settings.*
@@ -589,7 +603,7 @@ server-host
=============== ================= =============== =================
**Environment** PGRST_SERVER_HOST **Environment** PGRST_SERVER_HOST
**In-Database** pgrst.server_host **In-Database** `n/a`
=============== ================= =============== =================
Where to bind the PostgREST web server. In addition to the usual address options, PostgREST interprets these reserved addresses with special meanings: Where to bind the PostgREST web server. In addition to the usual address options, PostgREST interprets these reserved addresses with special meanings:
@@ -607,7 +621,7 @@ server-port
=============== ================= =============== =================
**Environment** PGRST_SERVER_PORT **Environment** PGRST_SERVER_PORT
**In-Database** pgrst.server_port **In-Database** `n/a`
=============== ================= =============== =================
The TCP port to bind the web server. The TCP port to bind the web server.
@@ -619,7 +633,7 @@ server-unix-socket
=============== ================= =============== =================
**Environment** PGRST_SERVER_UNIX_SOCKET **Environment** PGRST_SERVER_UNIX_SOCKET
**In-Database** pgrst.server_unix_socket **In-Database** `n/a`
=============== ================= =============== =================
`Unix domain socket <https://en.wikipedia.org/wiki/Unix_domain_socket>`_ where to bind the PostgREST web server. `Unix domain socket <https://en.wikipedia.org/wiki/Unix_domain_socket>`_ where to bind the PostgREST web server.
@@ -636,7 +650,7 @@ server-unix-socket-mode
=============== ================= =============== =================
**Environment** PGRST_SERVER_UNIX_SOCKET_MODE **Environment** PGRST_SERVER_UNIX_SOCKET_MODE
**In-Database** pgrst.server_unix_socket_mode **In-Database** `n/a`
=============== ================= =============== =================
`Unix file mode <https://en.wikipedia.org/wiki/File_system_permissions>`_ to be set for the socket specified in :ref:`server-unix-socket` `Unix file mode <https://en.wikipedia.org/wiki/File_system_permissions>`_ to be set for the socket specified in :ref:`server-unix-socket`