From 73a5d4aeb9df3213205517e1162aef9146af9317 Mon Sep 17 00:00:00 2001 From: Lyes Saadi Date: Sun, 21 Dec 2025 12:26:11 +0100 Subject: [PATCH 1/2] Fixing the reverse proxy alias configuration --- modules/services/reverseproxy.nix | 40 +++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/modules/services/reverseproxy.nix b/modules/services/reverseproxy.nix index 8db3db1..e7e4ac7 100644 --- a/modules/services/reverseproxy.nix +++ b/modules/services/reverseproxy.nix @@ -168,22 +168,36 @@ in ]; }) cfg.virtualHosts; - # Configuration des alias .fr et .eu - aliasConfig = lib.fold ( + # Génération des alias + getAliases = name: config: lib.fold ( tld: acc: acc - // lib.mapAttrs' ( - vhostName: vhostConfig: - lib.nameValuePair "${vhostName}-alias-${tld}" rec { - rejectSSL = vhostConfig.httpOnly; - forceSSL = !rejectSSL; - enableACME = !rejectSSL; - serverName = "${vhostName}.crans.${tld}"; - serverAliases = map (name: "${name}.crans.${tld}") vhostConfig.serverAliases; - globalRedirect = "${vhostName}.crans.${mainTld}"; + ++ + (lib.fold (alias: acc: acc ++ ["${alias}.crans.${tld}"]) ["${name}.crans.${tld}"] config.serverAliases) + ) + (lib.fold (alias: acc: acc ++ ["${alias}.crans.${mainTld}"]) [] config.serverAliases) + otherTld; + + # Configuration des alias + aliasConfig = lib.fold ( + vhost: acc: + acc + // + lib.fold ( + alias: acc: + acc + // + { + "${vhost.name}-alias-${alias}" = rec { + rejectSSL = vhost.value.httpOnly; + forceSSL = !rejectSSL; + enableACME = !rejectSSL; + serverName = alias; + globalRedirect = "${vhost.name}.crans.${mainTld}"; + }; } - ) cfg.virtualHosts - ) { } otherTld; + ) { } (getAliases vhost.name vhost.value) + ) { } (lib.attrsToList cfg.virtualHosts); in { enable = true; From 0fe0b41cf90fce77ad09610ab925caee376452d2 Mon Sep 17 00:00:00 2001 From: Lyes Saadi Date: Sun, 21 Dec 2025 15:40:49 +0100 Subject: [PATCH 2/2] Fold is deprecated in favour of foldr --- modules/services/reverseproxy.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/services/reverseproxy.nix b/modules/services/reverseproxy.nix index e7e4ac7..29b2efb 100644 --- a/modules/services/reverseproxy.nix +++ b/modules/services/reverseproxy.nix @@ -169,21 +169,21 @@ in }) cfg.virtualHosts; # Génération des alias - getAliases = name: config: lib.fold ( + getAliases = name: config: lib.foldr ( tld: acc: acc ++ - (lib.fold (alias: acc: acc ++ ["${alias}.crans.${tld}"]) ["${name}.crans.${tld}"] config.serverAliases) + (lib.foldr (alias: acc: acc ++ ["${alias}.crans.${tld}"]) ["${name}.crans.${tld}"] config.serverAliases) ) - (lib.fold (alias: acc: acc ++ ["${alias}.crans.${mainTld}"]) [] config.serverAliases) + (lib.foldr (alias: acc: acc ++ ["${alias}.crans.${mainTld}"]) [] config.serverAliases) otherTld; # Configuration des alias - aliasConfig = lib.fold ( + aliasConfig = lib.foldr ( vhost: acc: acc // - lib.fold ( + lib.foldr ( alias: acc: acc //