1{ 2 config, 3 lib, 4 pkgs, 5 options, 6 ... 7}: 8 9let 10 cfg = config.services.prometheus.exporters.nats; 11 inherit (lib) mkOption types concatStringsSep; 12in 13{ 14 port = 7777; 15 16 extraOpts = { 17 url = mkOption { 18 type = types.str; 19 default = "http://127.0.0.1:8222"; 20 description = '' 21 NATS monitor endpoint to query. 22 ''; 23 }; 24 }; 25 26 serviceOpts = { 27 serviceConfig = { 28 ExecStart = '' 29 ${pkgs.prometheus-nats-exporter}/bin/prometheus-nats-exporter \ 30 -addr ${cfg.listenAddress} \ 31 -port ${toString cfg.port} \ 32 ${concatStringsSep " \\\n " cfg.extraFlags} \ 33 ${cfg.url} 34 ''; 35 }; 36 }; 37}