infrastructure/nixos/monitoring/monitoring.nix

36 lines
906 B
Nix

{
config,
lib,
...
}: let
inherit (lib.modules) mkIf mkMerge;
inherit (config.services) grafana loki prometheus;
in {
services = {
grafana = {
enable = true;
settings = {
"auth.anonymous" = {
enabled = true;
# org_name = domain;
# org_role = "Viewer"? "Editor"?
org_role = "Admin";
};
metrics = {
enabled = true;
disable_total_stats = true;
};
};
};
loki.enable = true;
prometheus.enable = true;
};
networking.firewall.interfaces.lan.allowedTCPPorts = mkMerge [
(mkIf grafana.enable [grafana.settings.server.http_port])
(mkIf loki.enable [
loki.configuration.server.http_listen_port
(mkIf (loki.configuration.server.grpc_listen_port != 0) loki.configuration.server.grpc_listen_port)
])
(mkIf prometheus.enable [prometheus.port])
];
}