diff options
Diffstat (limited to 'nixpkgs/nixos/modules/services/networking/trickster.nix')
-rw-r--r-- | nixpkgs/nixos/modules/services/networking/trickster.nix | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/nixpkgs/nixos/modules/services/networking/trickster.nix b/nixpkgs/nixos/modules/services/networking/trickster.nix index e48bba8fa587..0b696e412b4d 100644 --- a/nixpkgs/nixos/modules/services/networking/trickster.nix +++ b/nixpkgs/nixos/modules/services/networking/trickster.nix @@ -6,13 +6,16 @@ let cfg = config.services.trickster; in { + imports = [ + (mkRenamedOptionModule [ "services" "trickster" "origin" ] [ "services" "trickster" "origin-url" ]) + ]; options = { services.trickster = { enable = mkOption { type = types.bool; default = false; - description = '' + description = lib.mdDoc '' Enable Trickster. ''; }; @@ -21,7 +24,7 @@ in type = types.package; default = pkgs.trickster; defaultText = literalExpression "pkgs.trickster"; - description = '' + description = lib.mdDoc '' Package that should be used for trickster. ''; }; @@ -29,7 +32,7 @@ in configFile = mkOption { type = types.nullOr types.path; default = null; - description = '' + description = lib.mdDoc '' Path to configuration file. ''; }; @@ -37,7 +40,7 @@ in instance-id = mkOption { type = types.nullOr types.int; default = null; - description = '' + description = lib.mdDoc '' Instance ID for when running multiple processes (default null). ''; }; @@ -45,7 +48,7 @@ in log-level = mkOption { type = types.str; default = "info"; - description = '' + description = lib.mdDoc '' Level of Logging to use (debug, info, warn, error) (default "info"). ''; }; @@ -53,23 +56,31 @@ in metrics-port = mkOption { type = types.port; default = 8082; - description = '' + description = lib.mdDoc '' Port that the /metrics endpoint will listen on. ''; }; - origin = mkOption { + origin-type = mkOption { + type = types.enum [ "prometheus" "influxdb" ]; + default = "prometheus"; + description = lib.mdDoc '' + Type of origin (prometheus, influxdb) + ''; + }; + + origin-url = mkOption { type = types.str; default = "http://prometheus:9090"; - description = '' - URL to the Prometheus Origin. Enter it like you would in grafana, e.g., http://prometheus:9090 (default http://prometheus:9090). + description = lib.mdDoc '' + URL to the Origin. Enter it like you would in grafana, e.g., http://prometheus:9090 (default http://prometheus:9090). ''; }; profiler-port = mkOption { type = types.nullOr types.port; default = null; - description = '' + description = lib.mdDoc '' Port that the /debug/pprof endpoint will listen on. ''; }; @@ -77,7 +88,7 @@ in proxy-port = mkOption { type = types.port; default = 9090; - description = '' + description = lib.mdDoc '' Port that the Proxy server will listen on. ''; }; @@ -87,7 +98,7 @@ in config = mkIf cfg.enable { systemd.services.trickster = { - description = "Dashboard Accelerator for Prometheus"; + description = "Reverse proxy cache and time series dashboard accelerator"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -96,7 +107,8 @@ in ${cfg.package}/bin/trickster \ -log-level ${cfg.log-level} \ -metrics-port ${toString cfg.metrics-port} \ - -origin ${cfg.origin} \ + -origin-type ${cfg.origin-type} \ + -origin-url ${cfg.origin-url} \ -proxy-port ${toString cfg.proxy-port} \ ${optionalString (cfg.configFile != null) "-config ${cfg.configFile}"} \ ${optionalString (cfg.profiler-port != null) "-profiler-port ${cfg.profiler-port}"} \ |