prosodyctl: check config: Suggest moving modules enabled on all hosts to a global_mod...
authorKim Alvefur <zash@zash.se>
Tue, 12 Jan 2016 22:47:30 +0000 (23:47 +0100)
committerKim Alvefur <zash@zash.se>
Tue, 12 Jan 2016 22:47:30 +0000 (23:47 +0100)
prosodyctl

index e08c9dd2ead620f4a64b861ddcb9c371b3d2f32d..1a487fb5f54dbb5b8b897ee3f226f51eea09ebf0 100755 (executable)
@@ -877,6 +877,20 @@ function commands.check(arg)
                                print("    All hosts are disabled. Remove enabled = false from at least one VirtualHost section")
                        end
                end
+               if not config["*"].modules_enabled then
+                       print("    No global modules_enabled is set?");
+                       local suggested_global_modules;
+                       for host, options in enabled_hosts() do
+                               if not options.component_module and options.modules_enabled then
+                                       suggested_global_modules = set.intersection(suggested_global_modules or set.new(options.modules_enabled), set.new(options.modules_enabled));
+                               end
+                       end
+                       if not suggested_global_modules:empty() then
+                               print("    Consider moving these modules into modules_enabled in the global section:")
+                               print("    "..tostring(suggested_global_modules / function (x) return ("%q"):format(x) end));
+                       end
+                       print();
+               end
                -- Check for global options under hosts
                local global_options = set.new(it.to_array(it.keys(config["*"])));
                local deprecated_global_options = set.intersection(global_options, deprecated);