annotate mod_audit_status/mod_audit_status.lua @ 5627:3a5cf8d80089

mod_http_oauth2: Tweak method of centering the UI The percentage here was relative to the viewport width, which on some very wide screens may put the UI slightly outside of the view, requiring scrolling to see. By using a unit relative to the height of the viewport, this is avoided and should work better. But no guarantees, it's still possible to resize the browser or adjust font sizes so that the UI goes out of view.
author Kim Alvefur <zash@zash.se>
date Mon, 31 Jul 2023 07:28:09 +0200
parents 14b6397cd6de
children 9944c6c3e914
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5320
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 module:depends("audit");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2
5324
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
3 local st = require "util.stanza";
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
4
5320
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 -- Suppress warnings about module:audit()
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 -- luacheck: ignore 143/module
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 local heartbeat_interval = module:get_option_number("audit_status_heartbeat_interval", 60);
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 local store = module:open_store(nil, "keyval+");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 module:hook_global("server-started", function ()
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 local recorded_status = store:get();
5353
14b6397cd6de mod_audit_status: Fix error on first start
Kim Alvefur <zash@zash.se>
parents: 5324
diff changeset
14 if recorded_status and recorded_status.status == "started" then
5320
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 module:audit(nil, "server-crashed", { timestamp = recorded_status.heartbeat });
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 end
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 module:audit(nil, "server-started");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 store:set_key(nil, "status", "started");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 end);
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 module:hook_global("server-stopped", function ()
5324
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
22 module:audit(nil, "server-stopped", {
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
23 custom = {
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
24 prosody.shutdown_reason and st.stanza("note"):text(prosody.shutdown_reason);
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
25 };
18fd615c2733 mod_audit_status: Include shutdown reason in log entry
Matthew Wild <mwild1@gmail.com>
parents: 5320
diff changeset
26 });
5320
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 store:set_key(nil, "status", "stopped");
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28 end);
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30 if heartbeat_interval then
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31 module:add_timer(0, function ()
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
32 store:set_key(nil, "heartbeat", os.time());
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33 return heartbeat_interval;
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34 end);
c450dbf6c0fa mod_audit_status: New module to log server status to audit log
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
35 end