From 43990c54280c2498d00f39743caae8bbd2f44745 Mon Sep 17 00:00:00 2001 From: Moritz Sanft <58110325+msanft@users.noreply.github.com> Date: Mon, 10 Jun 2024 17:55:52 +0200 Subject: [PATCH] nixos/prometheus: remove minio exporter --- .../manual/release-notes/rl-2411.section.md | 3 + .../monitoring/prometheus/exporters.nix | 19 ++--- .../monitoring/prometheus/exporters/minio.nix | 69 ------------------- pkgs/top-level/aliases.nix | 2 +- 4 files changed, 9 insertions(+), 84 deletions(-) delete mode 100644 nixos/modules/services/monitoring/prometheus/exporters/minio.nix diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 2a979a1e14e7..114dee5b60a6 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -119,6 +119,9 @@ support, which is the intended default behavior by Tracy maintainers. X11 users have to switch to the new package `tracy-x11`. +- The `services.prometheus.exporters.minio` option has been removed, as it's upstream implementation was broken and unmaintained. + Minio now has built-in [Prometheus metrics exposure](https://min.io/docs/minio/linux/operations/monitoring/collect-minio-metrics-using-prometheus.html), which can be used instead. + ## Other Notable Changes {#sec-release-24.11-notable-changes} diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index 2dc12a221bf0..dc357f6cc5fb 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -52,7 +52,6 @@ let "lnd" "mail" "mikrotik" - "minio" "modemmanager" "mongodb" "mysqld" @@ -279,20 +278,16 @@ let in { - imports = (lib.forEach [ "blackboxExporter" "collectdExporter" "fritzboxExporter" - "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter" - "snmpExporter" "unifiExporter" "varnishExporter" ] - (opt: lib.mkRemovedOptionModule [ "services" "prometheus" "${opt}" ] '' - The prometheus exporters are now configured using `services.prometheus.exporters'. - See the 18.03 release notes for more information. - '' )); - options.services.prometheus.exporters = mkOption { type = types.submodule { options = (mkSubModules); imports = [ ../../../misc/assertions.nix (lib.mkRenamedOptionModule [ "unifi-poller" ] [ "unpoller" ]) + (lib.mkRemovedOptionModule [ "minio" ] '' + The Minio exporter has been removed, as it was broken and unmaintained. + See the 24.11 release notes for more information. + '') ]; }; description = "Prometheus exporter configuration"; @@ -438,11 +433,7 @@ in '' ) ] ++ config.services.prometheus.exporters.warnings; - }] ++ [(mkIf config.services.minio.enable { - services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000"; - services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey; - services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey; - })] ++ [(mkIf config.services.prometheus.exporters.rtl_433.enable { + }] ++ [(mkIf config.services.prometheus.exporters.rtl_433.enable { hardware.rtl-sdr.enable = mkDefault true; })] ++ [(mkIf config.services.postfix.enable { services.prometheus.exporters.postfix.group = mkDefault config.services.postfix.setgidGroup; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix deleted file mode 100644 index 8faff5908b8a..000000000000 --- a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ config, lib, pkgs, options, ... }: - -let - cfg = config.services.prometheus.exporters.minio; - inherit (lib) - mkOption - types - optionalString - concatStringsSep - escapeShellArg - ; -in -{ - port = 9290; - extraOpts = { - minioAddress = mkOption { - type = types.str; - example = "https://10.0.0.1:9000"; - description = '' - The URL of the minio server. - Use HTTPS if Minio accepts secure connections only. - By default this connects to the local minio server if enabled. - ''; - }; - - minioAccessKey = mkOption { - type = types.str; - example = "yourMinioAccessKey"; - description = '' - The value of the Minio access key. - It is required in order to connect to the server. - By default this uses the one from the local minio server if enabled - and `config.services.minio.accessKey`. - ''; - }; - - minioAccessSecret = mkOption { - type = types.str; - description = '' - The value of the Minio access secret. - It is required in order to connect to the server. - By default this uses the one from the local minio server if enabled - and `config.services.minio.secretKey`. - ''; - }; - - minioBucketStats = mkOption { - type = types.bool; - default = false; - description = '' - Collect statistics about the buckets and files in buckets. - It requires more computation, use it carefully in case of large buckets.. - ''; - }; - }; - serviceOpts = { - serviceConfig = { - ExecStart = '' - ${pkgs.prometheus-minio-exporter}/bin/minio-exporter \ - -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - -minio.server ${cfg.minioAddress} \ - -minio.access-key ${escapeShellArg cfg.minioAccessKey} \ - -minio.access-secret ${escapeShellArg cfg.minioAccessSecret} \ - ${optionalString cfg.minioBucketStats "-minio.bucket-stats"} \ - ${concatStringsSep " \\\n " cfg.extraFlags} - ''; - }; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 1051a73588c4..1642cf371d86 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -891,7 +891,7 @@ mapAliases ({ moonlander = throw "'moonlander' has been removed due to it being broken and unmaintained"; # Added 2023-11-26 moz-phab = mozphab; # Added 2022-08-09 mozart-binary = throw "'mozart-binary' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10 - mozart = throw "'mozart' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10 + mozart = throw "'mozart' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10 mpc_cli = mpc-cli; # moved from top-level 2022-01-24 mpd_clientlib = libmpdclient; # Added 2021-02-11 mpdevil = plattenalbum; # Added 2024-05-22