Mercurial > prosody-modules
annotate mod_s2s_reload_newcomponent/mod_s2s_reload_newcomponent.lua @ 5668:ecfd7aece33b
mod_measure_modules: Report module statuses via OpenMetrics
Someone in the chat asked about a health check endpoint, which reminded
me of mod_http_status, which provides access to module statuses with
full details. After that, this idea came about, which seems natural.
As noted in the README, it could be used to monitor that critical
modules are in fact loaded correctly.
As more modules use the status API, the more useful this module and
mod_http_status becomes.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 06 Oct 2023 18:34:39 +0200 |
parents | fe5bb7b13a59 |
children |
rev | line source |
---|---|
213
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
1 local modulemanager = require "core.modulemanager"; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
2 local config = require "core.configmanager"; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
3 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
4 module.host = "*"; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
5 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
6 local function reload_components() |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
7 local defined_hosts = config.getconfig(); |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
8 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
9 for host in pairs(defined_hosts) do |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
10 if (not hosts[host] and host ~= "*") then |
214
7487f8b47662
mod_s2s_reload_newcomponent: fix debug logs
Gaurav <gauravsri@gmail.com>
parents:
213
diff
changeset
|
11 module:log ("debug", "loading new component %s", host); |
2781
fe5bb7b13a59
mod_s2s_reload_newcomponent: Fix to use imported configmanager instead of global
Matthew Wild <mwild1@gmail.com>
parents:
214
diff
changeset
|
12 modulemanager.load(host, config.get(host, "core", "component_module")); |
213
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
13 end |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
14 end; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
15 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
16 return; |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
17 end |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
18 |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
19 module:hook("config-reloaded", reload_components); |
89051a926f74
initial creation of module for reloading new components
Gaurav <gauravsri@gmail.com>
parents:
diff
changeset
|
20 |