forked from DGNum/infrastructure
73 lines
1.4 KiB
Nix
73 lines
1.4 KiB
Nix
_:
|
|
|
|
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}.default = true;
|
|
}
|
|
// (builtins.mapAttrs
|
|
(
|
|
_:
|
|
{
|
|
to,
|
|
ssl ? true,
|
|
}:
|
|
{
|
|
globalRedirect = to;
|
|
enableACME = ssl;
|
|
forceSSL = ssl;
|
|
}
|
|
)
|
|
redirections
|
|
);
|
|
}
|