Tom Hubrecht
ecbad0a638
All checks were successful
Check workflows / check_workflows (push) Successful in 21s
Run pre-commit on all files / check (push) Successful in 24s
Check meta / check_dns (pull_request) Successful in 19s
Check meta / check_meta (pull_request) Successful in 18s
Check workflows / check_workflows (pull_request) Successful in 19s
Build all the nodes / bridge01 (pull_request) Successful in 1m13s
Build all the nodes / geo01 (pull_request) Successful in 1m14s
Build all the nodes / compute01 (pull_request) Successful in 1m44s
Build all the nodes / geo02 (pull_request) Successful in 1m12s
Build all the nodes / rescue01 (pull_request) Successful in 1m30s
Build all the nodes / storage01 (pull_request) Successful in 1m29s
Build all the nodes / vault01 (pull_request) Successful in 1m26s
Build all the nodes / web02 (pull_request) Successful in 1m19s
Run pre-commit on all files / check (pull_request) Successful in 24s
Build all the nodes / web01 (pull_request) Successful in 1m56s
Build all the nodes / web03 (pull_request) Successful in 1m25s
This adds subdirectories for the different types of systems, for the modules and the machines
40 lines
1 KiB
Nix
40 lines
1 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
sources,
|
|
...
|
|
}:
|
|
|
|
let
|
|
inherit (lib) mapAttrsToList match;
|
|
|
|
metis = import sources.metis { inherit pkgs; };
|
|
in
|
|
{
|
|
services.nginx.virtualHosts."calendrier.dgnum.eu" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
root = metis.package;
|
|
|
|
locations = lib.mapAttrs' (
|
|
name: domain:
|
|
lib.nameValuePair "/cal/${name}/" {
|
|
extraConfig = ''
|
|
proxy_set_header X-Forwarded-Host $host;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_pass https://${domain}/remote.php/dav/public-calendars/;
|
|
'';
|
|
}
|
|
) metis.providers;
|
|
|
|
extraConfig = ''
|
|
rewrite ^/calendrier(.*)$ $1 permanent;
|
|
'';
|
|
};
|
|
|
|
assertions = mapAttrsToList (name: domain: {
|
|
assertion = (match "[a-z-]+" name == [ ]) && (match "[a-z.-]+" domain == [ ]);
|
|
message = "The provider `${name}` associated to the domain `${domain}` seems to have an incorrect definition.";
|
|
}) metis.providers;
|
|
}
|