summary refs log tree commit diff
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2019-08-12 17:59:27 +0000
committerGitHub <noreply@github.com>2019-08-12 17:59:27 +0000
commitf3160a2db6dc4e1ff7a3d3096f0ba4b0078903f6 (patch)
treefa2ec717950f1abb726316799c5d17c4e2e0286f
parentfe9c676e99eb9f0a6f6221f526b36080777025a7 (diff)
parenta8847c870aa0b5acdbc7593616858bfd1b825fbf (diff)
downloadnixpkgs-f3160a2db6dc4e1ff7a3d3096f0ba4b0078903f6.tar
nixpkgs-f3160a2db6dc4e1ff7a3d3096f0ba4b0078903f6.tar.gz
nixpkgs-f3160a2db6dc4e1ff7a3d3096f0ba4b0078903f6.tar.bz2
nixpkgs-f3160a2db6dc4e1ff7a3d3096f0ba4b0078903f6.tar.lz
nixpkgs-f3160a2db6dc4e1ff7a3d3096f0ba4b0078903f6.tar.xz
nixpkgs-f3160a2db6dc4e1ff7a3d3096f0ba4b0078903f6.tar.zst
nixpkgs-f3160a2db6dc4e1ff7a3d3096f0ba4b0078903f6.zip
Merge pull request #66476 from WilliButz/fix-prometheus-alertmanager-option
nixos/prometheus2: replace alertmanagerURL with new alertmanagers option
-rw-r--r--nixos/modules/rename.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix26
2 files changed, 21 insertions, 9 deletions
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 6228c95ae91..7734209973b 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -51,6 +51,10 @@ with lib;
     (mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly.")
     (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting.")
     (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting.")
+    (mkRemovedOptionModule [ "services" "prometheus2" "alertmanagerURL" ] ''
+      Due to incompatibility, the alertmanagerURL option has been removed,
+      please use 'services.prometheus2.alertmanagers' instead.
+    '')
     (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ])
     (mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ])
     (mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ])
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index d8384e0d35b..647d67533b8 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -79,12 +79,8 @@ let
       (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg2.rules))
     ]);
     scrape_configs = filterValidPrometheus cfg2.scrapeConfigs;
-    alerting = optionalAttrs (cfg2.alertmanagerURL != []) {
-      alertmanagers = [{
-        static_configs = [{
-          targets = cfg2.alertmanagerURL;
-        }];
-      }];
+    alerting = {
+      inherit (cfg2) alertmanagers;
     };
   };
 
@@ -738,11 +734,23 @@ in {
         '';
       };
 
-      alertmanagerURL = mkOption {
-        type = types.listOf types.str;
+      alertmanagers = mkOption {
+        type = types.listOf types.attrs;
+        example = literalExample ''
+          [ {
+            scheme = "https";
+            path_prefix = "/alertmanager";
+            static_configs = [ {
+              targets = [
+                "prometheus.domain.tld"
+              ];
+            } ];
+          } ]
+        '';
         default = [];
         description = ''
-          List of Alertmanager URLs to send notifications to.
+          A list of alertmanagers to send alerts to.
+          See <link xlink:href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config">the official documentation</link> for more information.
         '';
       };