1 { config, lib, pkgs, options, ... }:
4 cfg = config.services.prometheus.exporters.surfboard;
5 inherit (lib) mkOption types concatStringsSep;
10 modemAddress = mkOption {
12 default = "192.168.100.1";
14 The hostname or IP of the cable modem.
19 description = "Prometheus exporter for surfboard cable modem";
20 unitConfig.Documentation = "https://github.com/ipstatic/surfboard_exporter";
23 ${pkgs.prometheus-surfboard-exporter}/bin/surfboard_exporter \
24 --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
25 --modem-address ${cfg.modemAddress} \
26 ${concatStringsSep " \\\n " cfg.extraFlags}