prosodyctl: Add experimental way to reload specific modules directly
authorKim Alvefur <zash@zash.se>
Sun, 25 Jun 2023 17:34:13 +0200
changeset 13171 6226f75f55a7
parent 13170 e6e76f64ebb6
child 13172 536055476912
prosodyctl: Add experimental way to reload specific modules directly Mostly thinking out loud about how various actions may use the shell This enables the following sequence of commands: prosodyctl install mod_example prosodyctl reload mod_example which is simpler than prosodyctl shell module reload example
prosodyctl
--- a/prosodyctl	Sat May 20 20:44:20 2023 +0200
+++ b/prosodyctl	Sun Jun 25 17:34:13 2023 +0200
@@ -565,6 +565,15 @@
 		return 0;
 	end
 
+	if arg[1] and arg[1]:match"^mod_" then
+		-- TODO reword the usage text, document
+		local shell = require "prosody.util.prosodyctl.shell";
+		arg[1] = arg[1]:match("^mod_(.*)"); -- strip mod_ prefix
+		table.insert(arg, 1, "module");
+		table.insert(arg, 2, "reload");
+		return shell.shell(arg);
+	end
+
 	service_command_warning("reload");
 
 	if not prosodyctl.isrunning() then