mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-14 04:52:56 +00:00
36 lines
797 B
Nix
36 lines
797 B
Nix
{ config, pkgs, lib, ... }: {
|
|
|
|
options.metricsServer = lib.mkOption {
|
|
type = lib.types.nullOr lib.types.str;
|
|
description = "Hostname of the Grafana server.";
|
|
default = null;
|
|
};
|
|
|
|
config = lib.mkIf (config.metricsServer != null) {
|
|
|
|
services.grafana.enable = true;
|
|
|
|
# Required to fix error in latest nixpkgs
|
|
services.grafana.settings = { };
|
|
|
|
services.prometheus = {
|
|
enable = true;
|
|
exporters.node.enable = true;
|
|
scrapeConfigs = [{
|
|
job_name = "local";
|
|
static_configs = [{ targets = [ "127.0.0.1:9100" ]; }];
|
|
}];
|
|
};
|
|
|
|
caddy.routes = [{
|
|
match = [{ host = [ config.metricsServer ]; }];
|
|
handle = [{
|
|
handler = "reverse_proxy";
|
|
upstreams = [{ dial = "localhost:3000"; }];
|
|
}];
|
|
}];
|
|
|
|
};
|
|
|
|
}
|