util.startup: Support systemd Type=notify service type
This lets Prosody report its lifecycle status to systemd, so it knows
when Prosody has completed its startup, when it's reloading and shutting
down.
Both Type=notify and Type=notify-reload is supported
Example systemd .service configuration snippet:
[Service]
Type=notify
-- Prosody IM
-- Copyright (C) 2008-2010 Matthew Wild
-- Copyright (C) 2008-2010 Waqas Hussain
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--
local host = module:get_host();
local welcome_text = module:get_option_string("welcome_message", "Hello $username, welcome to the $host IM server!");
local st = require "prosody.util.stanza";
module:hook("user-registered",
function (user)
local welcome_stanza =
st.message({ to = user.username.."@"..user.host, from = host },
welcome_text:gsub("$(%w+)", user));
module:send(welcome_stanza);
module:log("debug", "Welcomed user %s@%s", user.username, user.host);
end);