the-infra/services/monitoring/exporters/default.nix
2024-07-05 16:10:31 +00:00

32 lines
668 B
Nix

{
config,
lib,
...
}:
let
inherit (lib) mkOption types;
in
{
imports = [./baseline.nix];
options.bagel = {
meta.monitoring = {
address = mkOption {
description = "Node's public address";
type = types.str;
};
exporters = mkOption {
description = "List of all exporters to scrape";
type = types.listOf (types.submodule {
options.port = mkOption {
description = "Exporter port";
type = types.int;
};
});
default = [];
};
};
};
config.networking.firewall.allowedTCPPorts = map (e: e.port) config.bagel.meta.monitoring.exporters;
}