diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2020-04-14 16:13:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-14 16:13:34 +0200 |
commit | 57087ea280890f99ab9258186ae922b7d2d8d7a0 (patch) | |
tree | c3999f695bd79e3afb01e6aae39d1f8ba8d81ed9 /nixos/modules/services | |
parent | 143e5f64dd3a85b0a195051d2925b8e4fe7d05fd (diff) | |
parent | e484ca3d9b34bc27cd7e3611b6d3d483bd07c000 (diff) | |
download | nixlib-57087ea280890f99ab9258186ae922b7d2d8d7a0.tar nixlib-57087ea280890f99ab9258186ae922b7d2d8d7a0.tar.gz nixlib-57087ea280890f99ab9258186ae922b7d2d8d7a0.tar.bz2 nixlib-57087ea280890f99ab9258186ae922b7d2d8d7a0.tar.lz nixlib-57087ea280890f99ab9258186ae922b7d2d8d7a0.tar.xz nixlib-57087ea280890f99ab9258186ae922b7d2d8d7a0.tar.zst nixlib-57087ea280890f99ab9258186ae922b7d2d8d7a0.zip |
Merge pull request #85165 from mayflower/alertmanager-clustering
prometheus/alertmanager: implement HA clustering support
Diffstat (limited to 'nixos/modules/services')
-rw-r--r-- | nixos/modules/services/monitoring/prometheus/alertmanager.nix | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixos/modules/services/monitoring/prometheus/alertmanager.nix index 69e3dcf14085..1b02ebf37045 100644 --- a/nixos/modules/services/monitoring/prometheus/alertmanager.nix +++ b/nixos/modules/services/monitoring/prometheus/alertmanager.nix @@ -21,6 +21,8 @@ let "--config.file /tmp/alert-manager-substituted.yaml" "--web.listen-address ${cfg.listenAddress}:${toString cfg.port}" "--log.level ${cfg.logLevel}" + "--storage.path /var/lib/alertmanager" + (toString (map (peer: "--cluster.peer ${peer}:9094") cfg.clusterPeers)) ] ++ (optional (cfg.webExternalUrl != null) "--web.external-url ${cfg.webExternalUrl}" ) ++ (optional (cfg.logFormat != null) @@ -120,6 +122,14 @@ in { ''; }; + clusterPeers = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Initial peers for HA cluster. + ''; + }; + extraFlags = mkOption { type = types.listOf types.str; default = []; @@ -162,6 +172,7 @@ in { ''; serviceConfig = { Restart = "always"; + StateDirectory = "alertmanager"; DynamicUser = true; # implies PrivateTmp EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile; WorkingDirectory = "/tmp"; |