1{ pkgs, ... }:
2let
3 server-port = 3141;
4in
5{
6 name = "devpi-server";
7 meta = with pkgs.lib.maintainers; {
8 maintainers = [ cafkafk ];
9 };
10
11 nodes = {
12 devpi =
13 { ... }:
14 {
15 services.devpi-server = {
16 enable = true;
17 host = "0.0.0.0";
18 port = server-port;
19 openFirewall = true;
20 secretFile = pkgs.writeText "devpi-secret" "v263P+V3YGDYUyfYL/RBURw+tCPMDw94R/iCuBNJrDhaYrZYjpA6XPFVDDH8ViN20j77y2PHoMM/U0opNkVQ2g==";
21 };
22 };
23
24 client1 =
25 { ... }:
26 {
27 environment.systemPackages = with pkgs; [
28 devpi-client
29 jq
30 ];
31 };
32 };
33
34 testScript = ''
35 start_all()
36 devpi.wait_for_unit("devpi-server.service")
37 devpi.wait_for_open_port(${builtins.toString server-port})
38
39 client1.succeed("devpi getjson http://devpi:${builtins.toString server-port}")
40 '';
41}