From 3102053611ceae988950415d3779e2329dd5b0b2 Mon Sep 17 00:00:00 2001 From: Pablo Ovelleiro Corral Date: Sat, 27 Apr 2024 01:47:47 +0200 Subject: [PATCH] simplify caddy vhosts --- hosts/flora-6/apps/caddy.nix | 82 ++++++++++++++---------------------- 1 file changed, 31 insertions(+), 51 deletions(-) diff --git a/hosts/flora-6/apps/caddy.nix b/hosts/flora-6/apps/caddy.nix index f75f1813..6568846c 100644 --- a/hosts/flora-6/apps/caddy.nix +++ b/hosts/flora-6/apps/caddy.nix @@ -9,59 +9,39 @@ "d '/data/srv/www/os/download/' 0750 hakkonaut hakkonaut - -" ]; - services.caddy = { - enable = lib.mkForce true; - group = "hakkonaut"; - email = "admins@pub.solar"; - enableReload = true; - globalConfig = lib.mkForce '' - grace_period 60s - ''; - virtualHosts = { - "ci.pub.solar" = { - logFormat = lib.mkForce '' - output discard - ''; - extraConfig = '' - reverse_proxy :4000 - ''; + services.caddy = + let + mkRevProxyVhost = addr: { + logFormat = lib.mkForce "output discard"; + extraConfig = "reverse_proxy ${addr}"; }; - "flora-6.pub.solar" = { - logFormat = lib.mkForce '' - output discard - ''; - extraConfig = '' - basicauth * { - hakkonaut $2a$14$mmIAy/Ezm6YGohUtXa2mWeW6Bcw1MQXPhrRbz14jAD2iUu3oob/t. - } - reverse_proxy :${toString config.services.loki.configuration.server.http_listen_port} - ''; - }; - "alerts.pub.solar" = { - logFormat = lib.mkForce '' - output discard - ''; - extraConfig = '' - reverse_proxy 10.7.6.2:${toString config.services.prometheus.alertmanager.port} - ''; - }; - "grafana.pub.solar" = { - logFormat = lib.mkForce '' - output discard - ''; - extraConfig = '' - reverse_proxy :${toString config.services.grafana.settings.server.http_port} - ''; - }; - "obs-portal.pub.solar" = { - logFormat = lib.mkForce '' - output discard - ''; - extraConfig = '' - reverse_proxy obs-portal.svc.e5756d08-36fd-424b-f8bc-acdb92ca7b82.lev-1.int.greenbaum.zone:3000 - ''; + in + { + enable = lib.mkForce true; + group = "hakkonaut"; + email = "admins@pub.solar"; + enableReload = true; + + globalConfig = lib.mkForce '' + grace_period 60s + ''; + + virtualHosts = { + "ci.pub.solar" = mkRevProxyVhost ":4000"; + "alerts.pub.solar" = mkRevProxyVhost "10.7.6.2:${toString config.services.prometheus.alertmanager.port}"; + "grafana.pub.solar" = mkRevProxyVhost ":${toString config.services.grafana.settings.server.http_port}"; + "obs-portal.pub.solar" = mkRevProxyVhost "obs-portal.svc.e5756d08-36fd-424b-f8bc-acdb92ca7b82.lev-1.int.greenbaum.zone:3000"; + "flora-6.pub.solar" = { + logFormat = lib.mkForce "output discard"; + extraConfig = '' + basicauth * { + hakkonaut $2a$14$mmIAy/Ezm6YGohUtXa2mWeW6Bcw1MQXPhrRbz14jAD2iUu3oob/t. + } + reverse_proxy :${toString config.services.loki.configuration.server.http_listen_port} + ''; + }; }; }; - }; + networking.firewall.allowedTCPPorts = [ 80 443 ]; }