infra/hosts/flora-6/apps/caddy.nix

48 lines
1.3 KiB
Nix

{ config
, lib
, pkgs
, flake
, ...
}:
{
systemd.tmpfiles.rules = [
"d '/data/srv/www/os/download/' 0750 hakkonaut hakkonaut - -"
];
services.caddy =
let
mkRevProxyVhost = addr: {
logFormat = lib.mkForce "output discard";
extraConfig = "reverse_proxy ${addr}";
};
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 ];
}