File

mod_http_health/README.md @ 6191:94399ad6b5ab

mod_invites_register_api: Use set_password() for password resets Previously the code relied on the (weird) behaviour of create_user(), which would update the password for a user account if it already existed. This has several issues, and we plan to deprecate this behaviour of create_user(). The larger issue is that this route does not trigger the user-password-changed event, which can be a security problem. For example, it did not disconnect existing user sessions (this occurs in mod_c2s in response to the event). Switching to set_password() is the right thing to do.
author Matthew Wild <mwild1@gmail.com>
date Thu, 06 Feb 2025 10:13:39 +0000
parent 5712:09233b625cb9
line wrap: on
line source

Simple module adding an endpoint meant to be used for health checks.

# Configuration

After installing, enable by adding to [`modules_enabled`][doc:modules_enabled] like many other modules:

``` lua
-- in the global section
modules_enabled = {
    -- Other globally enabled modules here...
    "http_health"; -- add
}
```

## Access control

By default only access via localhost is allowed. This can be adjusted with `http_health_allow_ips`. The following example shows the default:

```
http_health_allow_ips = { "::1"; "127.0.0.1" }
```

Access can also be granted to one IP range via CIDR notation:

```
http_health_allow_cidr = "172.17.2.0/24"
```

The default for `http_health_allow_cidr` is empty.

# Details

Adds a `http://your.prosody.example:5280/health` endpoint that returns either HTTP status code 200 when all appears to be good or 500 when any module
[status][doc:developers:moduleapi#logging-and-status] has been set to `error`.

# See also

- [mod_measure_modules] provides module statues via OpenMetrics
- [mod_http_status] provides all module status details as JSON via HTTP