diff options
author | WilliButz <wbutz@cyberfnord.de> | 2019-10-12 22:35:15 +0200 |
---|---|---|
committer | WilliButz <wbutz@cyberfnord.de> | 2019-10-12 23:17:48 +0200 |
commit | d953d328ca9025c7e06a9acd0fe37e7ea341ed00 (patch) | |
tree | 55e0a7e230d2eabe983c44b2b8d2caf45ac7a17f /nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix | |
parent | a7206ec3d7029590f083b1286f7cf9e35230230c (diff) | |
download | nixpkgs-d953d328ca9025c7e06a9acd0fe37e7ea341ed00.tar nixpkgs-d953d328ca9025c7e06a9acd0fe37e7ea341ed00.tar.gz nixpkgs-d953d328ca9025c7e06a9acd0fe37e7ea341ed00.tar.bz2 nixpkgs-d953d328ca9025c7e06a9acd0fe37e7ea341ed00.tar.lz nixpkgs-d953d328ca9025c7e06a9acd0fe37e7ea341ed00.tar.xz nixpkgs-d953d328ca9025c7e06a9acd0fe37e7ea341ed00.tar.zst nixpkgs-d953d328ca9025c7e06a9acd0fe37e7ea341ed00.zip |
nixos/prometheus-nextcloud-exporter: add module
Diffstat (limited to 'nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix')
-rw-r--r-- | nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix new file mode 100644 index 00000000000..5f9a52053f7 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix @@ -0,0 +1,58 @@ +{ config, lib, pkgs, options }: + +with lib; + +let + cfg = config.services.prometheus.exporters.nextcloud; +in +{ + port = 9205; + extraOpts = { + url = mkOption { + type = types.str; + example = "https://domain.tld"; + description = '' + URL to the Nextcloud serverinfo page. + Adding the path to the serverinfo API is optional, it defaults + to <literal>/ocs/v2.php/apps/serverinfo/api/v1/info</literal>. + ''; + }; + username = mkOption { + type = types.str; + default = "nextcloud-exporter"; + description = '' + Username for connecting to Nextcloud. + Note that this account needs to have admin privileges in Nextcloud. + ''; + }; + passwordFile = mkOption { + type = types.path; + example = "/path/to/password-file"; + description = '' + File containing the password for connecting to Nextcloud. + Make sure that this file is readable by the exporter user. + ''; + }; + timeout = mkOption { + type = types.str; + default = "5s"; + description = '' + Timeout for getting server info document. + ''; + }; + }; + serviceOpts = { + serviceConfig = { + DynamicUser = false; + ExecStart = '' + ${pkgs.prometheus-nextcloud-exporter}/bin/nextcloud-exporter \ + -a ${cfg.listenAddress}:${toString cfg.port} \ + -u ${cfg.username} \ + -t ${cfg.timeout} \ + -l ${cfg.url} \ + -p @${cfg.passwordFile} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + }; +} |