summaryrefslogtreecommitdiffstats
path: root/nixos/tests/networking/livekit.nix
blob: 83fb3391a1f10075e5ea8eae5bdcd38e66e391ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
  config,
  lib,
  pkgs,
  ...
}:
{
  name = "livekit";
  meta.maintainers = [ lib.maintainers.quadradical ];

  nodes.machine = {
    services.livekit = {
      enable = true;
      keyFile = pkgs.writers.writeYAML "keys.yaml" {
        key = "f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE";
      };
      settings.port = 8000;
    };

    specialisation.ingress = {
      inheritParentConfig = true;
      configuration = {
        services.livekit = {
          ingress.enable = true;
          redis.port = 6379;
        };
      };
    };
  };

  testScript = ''
    with subtest("Test livekit service"):
      machine.wait_for_unit("livekit.service")
      machine.wait_for_open_port(8000)
      machine.succeed("curl 127.0.0.1:8000 -L --fail")

    with subtest("Test locally distributed livekit service with ingress component"):
      machine.succeed("${config.nodes.machine.system.build.toplevel}/specialisation/ingress/bin/switch-to-configuration test")
      machine.wait_for_unit("livekit-ingress.service")
      machine.wait_for_open_port(8080)
      machine.log(machine.succeed("curl --fail -X OPTIONS 127.0.0.1:8080/whip/test"))
  '';
}