vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / services / monitoring / prometheus / exporters / tor.nix
blobd39112d0c283c8adfbd61bf8352e8be1c7772a39
1 { config, lib, pkgs, options, ... }:
3 let
4   cfg = config.services.prometheus.exporters.tor;
5   inherit (lib) mkOption types concatStringsSep;
6 in
8   port = 9130;
9   extraOpts = {
10     torControlAddress = mkOption {
11       type = types.str;
12       default = "127.0.0.1";
13       description = ''
14         Tor control IP address or hostname.
15       '';
16     };
18     torControlPort = mkOption {
19       type = types.port;
20       default = 9051;
21       description = ''
22         Tor control port.
23       '';
24     };
25   };
26   serviceOpts = {
27     serviceConfig = {
28       ExecStart = ''
29         ${pkgs.prometheus-tor-exporter}/bin/prometheus-tor-exporter \
30           -b ${cfg.listenAddress} \
31           -p ${toString cfg.port} \
32           -a ${cfg.torControlAddress} \
33           -c ${toString cfg.torControlPort} \
34           ${concatStringsSep " \\\n  " cfg.extraFlags}
35       '';
36     };
38     # CPython requires a process to either have $HOME defined or run as a UID
39     # defined in /etc/passwd. The latter is false with DynamicUser, so define a
40     # dummy $HOME. https://bugs.python.org/issue10496
41     environment = { HOME = "/var/empty"; };
42   };