mirror of
https://github.com/Stunkymonkey/nixos.git
synced 2025-05-24 01:44:40 +02:00
service/webserver: assert for duplicate ports
This commit is contained in:
parent
b6b9972d60
commit
0e41a02722
1 changed files with 18 additions and 0 deletions
|
@ -91,6 +91,24 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = lib.allUnique (builtins.filter (p: p != null) (map (v: v.port) cfg.virtualHosts));
|
||||
message =
|
||||
let
|
||||
portsWithSubdomains = builtins.filter (v: v.port != null) cfg.virtualHosts;
|
||||
duplicates = lib.filter (
|
||||
p: builtins.length (lib.filter (x: x.port == p.port) portsWithSubdomains) > 1
|
||||
) portsWithSubdomains;
|
||||
in
|
||||
if duplicates == [ ] then
|
||||
""
|
||||
else
|
||||
"Duplicate ports found in my.services.webserver.virtualHosts: "
|
||||
+ builtins.concatStringsSep ", " (map (v: v.subdomain + ":" + builtins.toString v.port) duplicates);
|
||||
}
|
||||
];
|
||||
|
||||
services = {
|
||||
nginx.enable = false;
|
||||
caddy = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue