infrastructure/machines/web01/redirections.nix
Tom Hubrecht a6996a00ce
All checks were successful
build configuration / build_vault01 (push) Successful in 52s
build configuration / build_web02 (push) Successful in 52s
build configuration / build_storage01 (push) Successful in 53s
build configuration / build_compute01 (push) Successful in 1m18s
build configuration / build_web01 (push) Successful in 1m35s
npins update / npins_update (push) Successful in 40s
feat(redirections): Add rdv -> meet
2024-01-23 14:38:20 +01:00

59 lines
1.4 KiB
Nix

{ sources, ... }:
let
retired_host = "retired.dgnum.eu";
mkRetired = hosts:
builtins.listToAttrs (builtins.map (name: {
inherit name;
value.to = retired_host;
}) hosts);
mkSub = domain: builtins.map (s: "${s}.${domain}");
mkSubs = attrs:
builtins.concatLists (builtins.attrValues (builtins.mapAttrs mkSub attrs));
redirections = {
"calendrier.eleves.ens.fr".to = "calendrier.dgnum.eu";
"docs.beta.rz.ens.wtf".to = "pads.dgnum.eu";
"git.rz.ens.wtf".to = "git.dgnum.eu";
"notion.rz.ens.wtf".to = "docs.dgnum.eu";
"nuage.beta.rz.ens.wtf".to = "cloud.dgnum.eu";
"rdv.dgnum.eu".to = "meet.dgnum.eu";
} // (mkRetired retired);
retired = mkSubs {
"ens.fr" = [ "alevins" "www.climatenavigator" ];
"ens.wtf" = [ "photos" ];
"rz.ens.wtf" = [ "s3" "cdn" ];
"beta.rz.ens.wtf" = [
"todo"
"minecraft"
"factorio"
"home"
"pads"
"api.pads"
"files.pads"
"sandbox.pads"
"jurisprudens"
"rstudio"
];
};
in {
services.nginx.virtualHosts = {
${retired_host} = {
enableACME = true;
forceSSL = true;
root = "${sources.dgnum-retired.outPath}/www";
default = true;
};
} // (builtins.mapAttrs (host:
{ to, ssl ? true }: {
globalRedirect = to;
enableACME = ssl;
forceSSL = ssl;
}) redirections);
}