vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / services / monitoring / prometheus / exporters / apcupsd.nix
blobf188fe1f68fb87acf81b7ee55cda92efb59e5375
1 { config, lib, pkgs, options, ... }:
3 let
4   cfg = config.services.prometheus.exporters.apcupsd;
5   inherit (lib) mkOption types concatStringsSep;
6 in
8   port = 9162;
9   extraOpts = {
10     apcupsdAddress = mkOption {
11       type = types.str;
12       default = ":3551";
13       description = ''
14         Address of the apcupsd Network Information Server (NIS).
15       '';
16     };
18     apcupsdNetwork = mkOption {
19       type = types.enum ["tcp" "tcp4" "tcp6"];
20       default = "tcp";
21       description = ''
22         Network of the apcupsd Network Information Server (NIS): one of "tcp", "tcp4", or "tcp6".
23       '';
24     };
25   };
26   serviceOpts = {
27     serviceConfig = {
28       ExecStart = ''
29         ${pkgs.prometheus-apcupsd-exporter}/bin/apcupsd_exporter \
30           -telemetry.addr ${cfg.listenAddress}:${toString cfg.port} \
31           -apcupsd.addr ${cfg.apcupsdAddress} \
32           -apcupsd.network ${cfg.apcupsdNetwork} \
33           ${concatStringsSep " \\\n  " cfg.extraFlags}
34       '';
35     };
36   };