vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / services / monitoring / prometheus / exporters / influxdb.nix
blob3a5680439d4c28fdf305239a89f6c3c215e33104
1 { config, lib, pkgs, options, ... }:
3 let
4   cfg = config.services.prometheus.exporters.influxdb;
5   inherit (lib) mkOption types concatStringsSep;
6 in
8   port = 9122;
9   extraOpts = {
10     sampleExpiry = mkOption {
11       type = types.str;
12       default = "5m";
13       example = "10m";
14       description = "How long a sample is valid for";
15     };
16     udpBindAddress = mkOption {
17       type = types.str;
18       default = ":9122";
19       example = "192.0.2.1:9122";
20       description = "Address on which to listen for udp packets";
21     };
22   };
23   serviceOpts = {
24     serviceConfig = {
25       RuntimeDirectory = "prometheus-influxdb-exporter";
26       ExecStart = ''
27         ${pkgs.prometheus-influxdb-exporter}/bin/influxdb_exporter \
28         --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
29         --influxdb.sample-expiry ${cfg.sampleExpiry} ${concatStringsSep " " cfg.extraFlags}
30       '';
31     };
32   };