at 25.11-pre 1.2 kB view raw
1{ ... }: 2let 3 defaultNginxSocketPath = "/var/run/nginx/default-test.sock"; 4 nginxSocketPath = "/var/run/nginx/test.sock"; 5in 6{ 7 name = "nginx-unix-socket"; 8 9 nodes = { 10 webserver = 11 { pkgs, lib, ... }: 12 { 13 services.nginx = { 14 enable = true; 15 16 defaultListen = [ { addr = "unix:${defaultNginxSocketPath}"; } ]; 17 virtualHosts.defaultLocalhost = { 18 serverName = "defaultLocalhost"; 19 locations."/default".return = "200 'bar'"; 20 }; 21 22 virtualHosts.localhost = { 23 serverName = "localhost"; 24 listen = [ { addr = "unix:${nginxSocketPath}"; } ]; 25 locations."/test".return = "200 'foo'"; 26 }; 27 }; 28 }; 29 }; 30 31 testScript = '' 32 webserver.wait_for_unit("nginx") 33 webserver.wait_for_open_unix_socket("${defaultNginxSocketPath}", timeout=1) 34 webserver.wait_for_open_unix_socket("${nginxSocketPath}", timeout=1) 35 36 webserver.succeed("curl --fail --silent --unix-socket '${defaultNginxSocketPath}' http://defaultLocalhost/default | grep '^bar$'") 37 webserver.succeed("curl --fail --silent --unix-socket '${nginxSocketPath}' http://localhost/test | grep '^foo$'") 38 ''; 39}