codeblocks: fix darwin build (#369774)
[NixPkgs.git] / nixos / modules / services / monitoring / prometheus / exporters / graphite.nix
blobf79afcd1f03b690de072416b29b37396cd4c8650
2   config,
3   lib,
4   pkgs,
5   options,
6   ...
7 }:
9 let
10   cfg = config.services.prometheus.exporters.graphite;
11   format = pkgs.formats.yaml { };
14   port = 9108;
15   extraOpts = {
16     graphitePort = lib.mkOption {
17       type = lib.types.port;
18       default = 9109;
19       description = ''
20         Port to use for the graphite server.
21       '';
22     };
23     mappingSettings = lib.mkOption {
24       type = lib.types.submodule {
25         freeformType = format.type;
26         options = { };
27       };
28       default = { };
29       description = ''
30         Mapping configuration for the exporter, see
31         <https://github.com/prometheus/graphite_exporter#yaml-config> for
32         available options.
33       '';
34     };
35   };
36   serviceOpts = {
37     serviceConfig = {
38       ExecStart = ''
39         ${pkgs.prometheus-graphite-exporter}/bin/graphite_exporter \
40           --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
41           --graphite.listen-address ${cfg.listenAddress}:${toString cfg.graphitePort} \
42           --graphite.mapping-config ${format.generate "mapping.yml" cfg.mappingSettings} \
43           ${lib.concatStringsSep " \\\n  " cfg.extraFlags}
44       '';
45     };
46   };