diff options
author | Robin Gloster <mail@glob.in> | 2020-04-13 18:39:51 +0200 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2020-04-13 18:39:51 +0200 |
commit | e484ca3d9b34bc27cd7e3611b6d3d483bd07c000 (patch) | |
tree | 590a26385403ad89f8d49c562a0dd479b091a546 /nixos/modules/services | |
parent | 326756bbebf7114ea11b5db7d544a3b08d9c59c6 (diff) | |
download | nixlib-e484ca3d9b34bc27cd7e3611b6d3d483bd07c000.tar nixlib-e484ca3d9b34bc27cd7e3611b6d3d483bd07c000.tar.gz nixlib-e484ca3d9b34bc27cd7e3611b6d3d483bd07c000.tar.bz2 nixlib-e484ca3d9b34bc27cd7e3611b6d3d483bd07c000.tar.lz nixlib-e484ca3d9b34bc27cd7e3611b6d3d483bd07c000.tar.xz nixlib-e484ca3d9b34bc27cd7e3611b6d3d483bd07c000.tar.zst nixlib-e484ca3d9b34bc27cd7e3611b6d3d483bd07c000.zip |
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"; |