Compare commits
No commits in common. "b1173f53bdde59adc6233cd77f9c39a5a66bf65d" and "83632f5cf9492f83e1498974b137facf7795b8c3" have entirely different histories.
b1173f53bd
...
83632f5cf9
3 changed files with 42 additions and 76 deletions
|
|
@ -417,10 +417,7 @@ Example host configuration:
|
||||||
config.sops.secrets."borg-private-key".path;
|
config.sops.secrets."borg-private-key".path;
|
||||||
};
|
};
|
||||||
|
|
||||||
frontend = {
|
frontend.hostName = "rabbigerzi.com";
|
||||||
hostName = "rabbigerzi.com";
|
|
||||||
redirectHostNames = [ "www.rabbigerzi.com" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
backend = {
|
backend = {
|
||||||
hostName = "api.rabbigerzi.com";
|
hostName = "api.rabbigerzi.com";
|
||||||
|
|
|
||||||
|
|
@ -23,10 +23,7 @@ let
|
||||||
borgPassphrase = "/run/secrets/borg-passphrase";
|
borgPassphrase = "/run/secrets/borg-passphrase";
|
||||||
borgPrivateKey = "/run/secrets/borg-private-key";
|
borgPrivateKey = "/run/secrets/borg-private-key";
|
||||||
};
|
};
|
||||||
frontend = {
|
frontend.hostName = "www.example.test";
|
||||||
hostName = "example.test";
|
|
||||||
redirectHostNames = [ "www.example.test" ];
|
|
||||||
};
|
|
||||||
backend = {
|
backend = {
|
||||||
hostName = "api.example.test";
|
hostName = "api.example.test";
|
||||||
environmentFile = "/run/secrets/rabbi-gerzi.env";
|
environmentFile = "/run/secrets/rabbi-gerzi.env";
|
||||||
|
|
@ -38,10 +35,6 @@ let
|
||||||
|
|
||||||
evaluatedHostName = evaluatedConfig.services.rabbi-gerzi.backend.hostName;
|
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};
|
backendVirtualHost = evaluatedConfig.services.nginx.virtualHosts.${evaluatedHostName};
|
||||||
|
|
||||||
phpOptions = evaluatedConfig.services.phpfpm.pools.rabbi-gerzi.phpOptions;
|
phpOptions = evaluatedConfig.services.phpfpm.pools.rabbi-gerzi.phpOptions;
|
||||||
|
|
@ -73,18 +66,6 @@ let
|
||||||
passed = lib.hasInfix expectedNginxClientMaxBodySize backendVirtualHost.extraConfig;
|
passed = lib.hasInfix expectedNginxClientMaxBodySize backendVirtualHost.extraConfig;
|
||||||
message = "nginx client_max_body_size is not 6m";
|
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";
|
passed = backupConfig.repo == "ssh://mgjjruz9@mgjjruz9.repo.borgbase.com/./repo";
|
||||||
message = "Borg repository is not the Rabbi Gerzi repository";
|
message = "Borg repository is not the Rabbi Gerzi repository";
|
||||||
|
|
|
||||||
|
|
@ -120,12 +120,6 @@ in
|
||||||
description = "Frontend nginx virtual host name.";
|
description = "Frontend nginx virtual host name.";
|
||||||
};
|
};
|
||||||
|
|
||||||
redirectHostNames = lib.mkOption {
|
|
||||||
type = lib.types.listOf lib.types.str;
|
|
||||||
default = [ ];
|
|
||||||
description = "Frontend host names that redirect to the canonical host.";
|
|
||||||
};
|
|
||||||
|
|
||||||
publicUrl = lib.mkOption {
|
publicUrl = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
default = "https://${cfg.frontend.hostName}";
|
default = "https://${cfg.frontend.hostName}";
|
||||||
|
|
@ -409,13 +403,7 @@ in
|
||||||
recommendedProxySettings = lib.mkDefault true;
|
recommendedProxySettings = lib.mkDefault true;
|
||||||
recommendedTlsSettings = lib.mkDefault true;
|
recommendedTlsSettings = lib.mkDefault true;
|
||||||
|
|
||||||
virtualHosts =
|
virtualHosts = {
|
||||||
lib.genAttrs cfg.frontend.redirectHostNames (redirectHostName: {
|
|
||||||
enableACME = true;
|
|
||||||
forceSSL = true;
|
|
||||||
globalRedirect = cfg.frontend.hostName;
|
|
||||||
})
|
|
||||||
// {
|
|
||||||
${cfg.frontend.hostName} = lib.mkMerge [
|
${cfg.frontend.hostName} = lib.mkMerge [
|
||||||
cfg.frontend.nginx
|
cfg.frontend.nginx
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue