Mercurial > prosody-modules
diff mod_pubsub_alertmanager/mod_pubsub_alertmanager.lua @ 5653:62c6e17a5e9d
Merge
author | Stephen Paul Weber <singpolyma@singpolyma.net> |
---|---|
date | Mon, 18 Sep 2023 08:24:19 -0500 |
parents | 67190744b1eb |
children |
line wrap: on
line diff
--- a/mod_pubsub_alertmanager/mod_pubsub_alertmanager.lua Mon Sep 18 08:22:07 2023 -0500 +++ b/mod_pubsub_alertmanager/mod_pubsub_alertmanager.lua Mon Sep 18 08:24:19 2023 -0500 @@ -29,11 +29,16 @@ return 202; end -local node_template = module:get_option_string("alertmanager_node_template", "{path?alerts}"); +local global_node_template = module:get_option_string("alertmanager_node_template", "{path?alerts}"); +local path_configs = module:get_option("alertmanager_path_configs", {}); function handle_POST(event, path) local request = event.request; + local config = path_configs[path] or {}; + local node_template = config.node_template or global_node_template; + local publisher = config.publisher or request.ip; + local payload = json.decode(event.request.body); if type(payload) ~= "table" then return 400; end if payload.version ~= "4" then return 501; end @@ -55,7 +60,7 @@ end local node = render(node_template, {alert = alert, path = path, payload = payload, request = request}); - local ret = publish_payload(node, request.ip, uuid_generate(), item); + local ret = publish_payload(node, publisher, uuid_generate(), item); if ret ~= 202 then return ret end