overlays/nginx-test

just start replacing shit, we're not even testing the actual config now
This sucks
nginx should make a proper validation tool that doesnt do DNS request on every hostname mentioned in the config file.
Not to mention trying to actually listen on the ip-address and port
Why?? Why is TEST failing because it can't bind to the SAME address nginx is probably in production listening on already??
This commit is contained in:
Daniel Olsen 2024-05-12 02:21:30 +02:00
parent 45eea1a791
commit 0a3d1e3696
1 changed files with 5 additions and 1 deletions

View File

@ -1,5 +1,6 @@
acme-certs: final: prev: acme-certs: final: prev:
let let
problematicHosts = [ "matrix.pvv.ntnu.no" "tom.pvv.ntnu.no" ];
lib = final.lib; lib = final.lib;
crt = "${final.path}/nixos/tests/common/acme/server/acme.test.cert.pem"; crt = "${final.path}/nixos/tests/common/acme/server/acme.test.cert.pem";
key = "${final.path}/nixos/tests/common/acme/server/acme.test.key.pem"; key = "${final.path}/nixos/tests/common/acme/server/acme.test.key.pem";
@ -9,7 +10,10 @@ acme-certs: final: prev:
nginxConfig = prev.writers.writeNginxConfig name text; nginxConfig = prev.writers.writeNginxConfig name text;
nativeBuildInputs = [ final.bubblewrap ]; nativeBuildInputs = [ final.bubblewrap ];
} '' } ''
ln -s "$nginxConfig" "$out" cat "$nginxConfig" > "$out"
substituteInPlace "$out" ${lib.concatMapStrings (host: "--replace ${host} \"localhost\" ") problematicHosts}
substituteInPlace "$out" --replace ":443" ":4443"
substituteInPlace "$out" --replace ":80" ":8808"
set +o pipefail set +o pipefail
bwrap \ bwrap \
--ro-bind "${crt}" "/etc/certs/nginx.crt" \ --ro-bind "${crt}" "/etc/certs/nginx.crt" \