Merge branch 'retire-rabbi-gerzi-staging'

This commit is contained in:
Yisroel Baum 2026-08-18 19:28:24 +03:00
commit d40a163d24
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
2 changed files with 15 additions and 12 deletions

View file

@ -9,6 +9,8 @@ let
backendConfig = config.services.rabbi-gerzi.backend; backendConfig = config.services.rabbi-gerzi.backend;
frontendVirtualHost = config.services.nginx.virtualHosts.${frontendConfig.hostName}; frontendVirtualHost = config.services.nginx.virtualHosts.${frontendConfig.hostName};
backendVirtualHost = config.services.nginx.virtualHosts.${backendConfig.hostName}; backendVirtualHost = config.services.nginx.virtualHosts.${backendConfig.hostName};
frontendCertificate = config.security.acme.certs.${frontendConfig.hostName};
backendCertificate = config.security.acme.certs.${backendConfig.hostName};
redirectVirtualHost = lib.attrByPath [ redirectVirtualHost = lib.attrByPath [
"www.rabbigerzi.com" "www.rabbigerzi.com"
] { } config.services.nginx.virtualHosts; ] { } config.services.nginx.virtualHosts;
@ -34,17 +36,24 @@ let
assertion = assertion =
backendConfig.corsAllowedOrigins == [ backendConfig.corsAllowedOrigins == [
"https://rabbigerzi.com" "https://rabbigerzi.com"
"https://rabbigerzi.yisroelbaum.com"
]; ];
message = "Rabbi Gerzi CORS origins do not cover production and staging"; message = "Rabbi Gerzi CORS origins are not production-only";
} }
{ {
assertion = builtins.elem "rabbigerzi.yisroelbaum.com" frontendVirtualHost.serverAliases; assertion = !builtins.elem "rabbigerzi.yisroelbaum.com" frontendVirtualHost.serverAliases;
message = "Rabbi Gerzi frontend staging alias is missing"; message = "Rabbi Gerzi frontend still serves the staging alias";
} }
{ {
assertion = builtins.elem "rabbigerziapi.yisroelbaum.com" backendVirtualHost.serverAliases; assertion = !builtins.elem "rabbigerziapi.yisroelbaum.com" backendVirtualHost.serverAliases;
message = "Rabbi Gerzi backend staging alias is missing"; message = "Rabbi Gerzi backend still serves the staging alias";
}
{
assertion = !builtins.elem "rabbigerzi.yisroelbaum.com" frontendCertificate.extraDomainNames;
message = "Rabbi Gerzi frontend certificate still covers staging";
}
{
assertion = !builtins.elem "rabbigerziapi.yisroelbaum.com" backendCertificate.extraDomainNames;
message = "Rabbi Gerzi backend certificate still covers staging";
} }
{ {
assertion = redirectVirtualHost.globalRedirect or null == "rabbigerzi.com"; assertion = redirectVirtualHost.globalRedirect or null == "rabbigerzi.com";

View file

@ -15,20 +15,14 @@
nginx = { nginx = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
serverAliases = [ "rabbigerzi.yisroelbaum.com" ];
}; };
}; };
backend = { backend = {
hostName = "api.rabbigerzi.com"; hostName = "api.rabbigerzi.com";
environmentFile = config.sops.secrets."rabbi-gerzi-env".path; environmentFile = config.sops.secrets."rabbi-gerzi-env".path;
corsAllowedOrigins = [
"https://rabbigerzi.com"
"https://rabbigerzi.yisroelbaum.com"
];
nginx = { nginx = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
serverAliases = [ "rabbigerziapi.yisroelbaum.com" ];
}; };
}; };
}; };