test frontend redirect hosts

This commit is contained in:
Yisroel Baum 2026-08-17 23:50:57 +03:00
parent 83632f5cf9
commit 2f8d666060
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9

View file

@ -23,7 +23,10 @@ let
borgPassphrase = "/run/secrets/borg-passphrase";
borgPrivateKey = "/run/secrets/borg-private-key";
};
frontend.hostName = "www.example.test";
frontend = {
hostName = "example.test";
redirectHostNames = [ "www.example.test" ];
};
backend = {
hostName = "api.example.test";
environmentFile = "/run/secrets/rabbi-gerzi.env";
@ -35,6 +38,10 @@ let
evaluatedHostName = evaluatedConfig.services.rabbi-gerzi.backend.hostName;
evaluatedFrontendHostName = evaluatedConfig.services.rabbi-gerzi.frontend.hostName;
frontendRedirectVirtualHost = evaluatedConfig.services.nginx.virtualHosts."www.example.test";
backendVirtualHost = evaluatedConfig.services.nginx.virtualHosts.${evaluatedHostName};
phpOptions = evaluatedConfig.services.phpfpm.pools.rabbi-gerzi.phpOptions;
@ -66,6 +73,18 @@ let
passed = lib.hasInfix expectedNginxClientMaxBodySize backendVirtualHost.extraConfig;
message = "nginx client_max_body_size is not 6m";
}
{
passed = frontendRedirectVirtualHost.globalRedirect == evaluatedFrontendHostName;
message = "frontend redirect does not target the canonical host";
}
{
passed = frontendRedirectVirtualHost.forceSSL;
message = "frontend redirect does not force HTTPS";
}
{
passed = frontendRedirectVirtualHost.enableACME;
message = "frontend redirect does not enable ACME";
}
{
passed = backupConfig.repo == "ssh://mgjjruz9@mgjjruz9.repo.borgbase.com/./repo";
message = "Borg repository is not the Rabbi Gerzi repository";