diff --git a/nixos/modules/services/web-apps/dependency-track.nix b/nixos/modules/services/web-apps/dependency-track.nix index 129770926222..32f25e81f242 100644 --- a/nixos/modules/services/web-apps/dependency-track.nix +++ b/nixos/modules/services/web-apps/dependency-track.nix @@ -509,9 +509,27 @@ in upstreams.dependency-track.servers."localhost:${toString cfg.port}" = { }; virtualHosts.${cfg.nginx.domain} = { locations = { - "/".alias = "${cfg.package.frontend}/dist/"; + "/" = { + alias = "${cfg.package.frontend}/dist/"; + index = "index.html"; + tryFiles = "$uri $uri/ /index.html"; + extraConfig = '' + location ~ (index\.html)$ { + add_header Cache-Control "max-age=0, no-cache, no-store, must-revalidate"; + add_header Pragma "no-cache"; + add_header Expires 0; + } + ''; + }; "/api".proxyPass = "http://dependency-track"; - "= /static/config.json".alias = frontendConfigFile; + "= /static/config.json" = { + alias = frontendConfigFile; + extraConfig = '' + add_header Cache-Control "max-age=0, no-cache, no-store, must-revalidate"; + add_header Pragma "no-cache"; + add_header Expires 0; + ''; + }; }; }; }; diff --git a/nixos/tests/dependency-track.nix b/nixos/tests/dependency-track.nix index 088ec8df82e3..baa55e779058 100644 --- a/nixos/tests/dependency-track.nix +++ b/nixos/tests/dependency-track.nix @@ -45,22 +45,27 @@ import ./make-test-python.nix ( }; }; - testScript = '' - import json + testScript = + # python + '' + import json - start_all() + start_all() - server.wait_for_unit("dependency-track.service") - server.wait_until_succeeds( - "journalctl -o cat -u dependency-track.service | grep 'Dependency-Track is ready'" - ) - server.wait_for_open_port(${toString dependencyTrackPort}) - - with subtest("version api returns correct version"): - version = json.loads( - server.succeed("curl http://localhost/api/version") + server.wait_for_unit("dependency-track.service") + server.wait_until_succeeds( + "journalctl -o cat -u dependency-track.service | grep 'Dependency-Track is ready'" ) - assert version["version"] == "${pkgs.dependency-track.version}" - ''; + server.wait_for_open_port(${toString dependencyTrackPort}) + + with subtest("version api returns correct version"): + version = json.loads( + server.succeed("curl http://localhost/api/version") + ) + assert version["version"] == "${pkgs.dependency-track.version}" + + with subtest("nginx serves frontend"): + server.succeed("curl http://localhost/ | grep \"