at 25.11-pre 1.9 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 { 4 name = "owncast"; 5 meta = with pkgs.lib.maintainers; { 6 maintainers = [ MayNiklas ]; 7 }; 8 9 nodes = { 10 client = 11 { pkgs, ... }: 12 with pkgs.lib; 13 { 14 networking = { 15 dhcpcd.enable = false; 16 interfaces.eth1.ipv6.addresses = mkOverride 0 [ 17 { 18 address = "fd00::2"; 19 prefixLength = 64; 20 } 21 ]; 22 interfaces.eth1.ipv4.addresses = mkOverride 0 [ 23 { 24 address = "192.168.1.2"; 25 prefixLength = 24; 26 } 27 ]; 28 }; 29 }; 30 server = 31 { pkgs, ... }: 32 with pkgs.lib; 33 { 34 networking = { 35 dhcpcd.enable = false; 36 useNetworkd = true; 37 useDHCP = false; 38 interfaces.eth1.ipv6.addresses = mkOverride 0 [ 39 { 40 address = "fd00::1"; 41 prefixLength = 64; 42 } 43 ]; 44 interfaces.eth1.ipv4.addresses = mkOverride 0 [ 45 { 46 address = "192.168.1.1"; 47 prefixLength = 24; 48 } 49 ]; 50 51 firewall.allowedTCPPorts = [ 8080 ]; 52 }; 53 54 services.owncast = { 55 enable = true; 56 listen = "0.0.0.0"; 57 }; 58 }; 59 }; 60 61 testScript = '' 62 start_all() 63 64 client.systemctl("start network-online.target") 65 server.systemctl("start network-online.target") 66 client.wait_for_unit("network-online.target") 67 server.wait_for_unit("network-online.target") 68 server.wait_for_unit("owncast.service") 69 server.wait_until_succeeds("ss -ntl | grep -q 8080") 70 71 client.succeed("curl http://192.168.1.1:8080/api/status") 72 client.succeed("curl http://[fd00::1]:8080/api/status") 73 ''; 74 } 75)