···191191 Whether to open ports in the firewall for the videobridge.
192192 '';
193193 };
194194+195195+ apis = mkOption {
196196+ type = with types; listOf str;
197197+ description = ''
198198+ What is passed as --apis= parameter. If this is empty, "none" is passed.
199199+ Needed for monitoring jitsi.
200200+ '';
201201+ default = [];
202202+ example = literalExample "[ \"colibri\" \"rest\" ]";
203203+ };
194204 };
195205196206 config = mkIf cfg.enable {
···221231 "export ${toVarName name}=$(cat ${xmppConfig.passwordFile})\n"
222232 ) cfg.xmppConfigs))
223233 + ''
224224- ${pkgs.jitsi-videobridge}/bin/jitsi-videobridge --apis=none
234234+ ${pkgs.jitsi-videobridge}/bin/jitsi-videobridge --apis=${if (cfg.apis == []) then "none" else concatStringsSep "," cfg.apis}
225235 '';
226236227237 serviceConfig = {
+1-1
nixos/tests/xmpp/prosody.nix
···8585 server.succeed('prosodyctl status | grep "Prosody is running"')
86868787 server.succeed("create-prosody-users")
8888- client.succeed('send-message 2>&1 | grep "XMPP SCRIPT TEST SUCCESS"')
8888+ client.succeed("send-message")
8989 server.succeed("delete-prosody-users")
9090 '';
9191}
+24-2
nixos/tests/xmpp/xmpp-sendmessage.nix
···2323 def __init__(self, jid, password):
2424 ClientXMPP.__init__(self, jid, password)
2525 self.add_event_handler("session_start", self.session_start)
2626+ self.test_succeeded = False
26272728 async def session_start(self, event):
2929+ try:
3030+ # Exceptions in event handlers are printed to stderr but not
3131+ # propagated, they do not make the script terminate with a non-zero
3232+ # exit code. We use the `test_succeeded` flag as a workaround and
3333+ # check it later at the end of the script to exit with a proper
3434+ # exit code.
3535+ # Additionally, this flag ensures that this event handler has been
3636+ # actually run by ClientXMPP, which may well not be the case.
3737+ await self.test_xmpp_server()
3838+ self.test_succeeded = True
3939+ finally:
4040+ # Even if an exception happens in `test_xmpp_server()`, we still
4141+ # need to disconnect explicitly, otherwise the process will hang
4242+ # forever.
4343+ self.disconnect(wait=True)
4444+4545+ async def test_xmpp_server(self):
2846 log = logging.getLogger(__name__)
2947 self.send_presence()
3048 self.get_roster()
···4260 log.error("ERROR: Cannot run upload command. XEP_0363 seems broken")
4361 sys.exit(1)
4462 log.info('Upload success!')
6363+4564 # Test MUC
4646- self.plugin['xep_0045'].join_muc('testMucRoom', 'cthon98', wait=True)
6565+ # TODO: use join_muc_wait() after slixmpp 1.8.0 is released.
6666+ self.plugin['xep_0045'].join_muc('testMucRoom', 'cthon98')
4767 log.info('MUC join success!')
4868 log.info('XMPP SCRIPT TEST SUCCESS')
4949- self.disconnect(wait=True)
506951705271if __name__ == '__main__':
···6281 ct.register_plugin('xep_0045')
6382 ct.connect(("server", 5222))
6483 ct.process(forever=False)
8484+8585+ if not ct.test_succeeded:
8686+ sys.exit(1)
6587''
···11+Remove warning "WARN[0000] Found default OCIruntime /nix/store/.../bin/crun path which is missing from [engine.runtimes] in containers.conf
22+33+It doesn't make sense as we promote using the podman wrapper where runtime paths will vary because they are nix store paths.
44+---
55+ vendor/github.com/containers/common/pkg/config/config.go | 3 +--
66+ 1 file changed, 1 insertion(+), 2 deletions(-)
77+88+diff --git a/vendor/github.com/containers/common/pkg/config/config.go b/vendor/github.com/containers/common/pkg/config/config.go
99+index 4a98c7e92..4a95a2a49 100644
1010+--- a/vendor/github.com/containers/common/pkg/config/config.go
1111++++ b/vendor/github.com/containers/common/pkg/config/config.go
1212+@@ -605,8 +605,7 @@ func (c *EngineConfig) findRuntime() string {
1313+ return name
1414+ }
1515+ }
1616+- if path, err := exec.LookPath(name); err == nil {
1717+- logrus.Warningf("Found default OCIruntime %s path which is missing from [engine.runtimes] in containers.conf", path)
1818++ if _, err := exec.LookPath(name); err == nil {
1919+ return name
2020+ }
2121+ }
2222+--
2323+2.30.0