diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-10-05 22:52:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-05 22:52:48 -0500 |
commit | 907afd17f9846329d174c72d332563f31dee75a8 (patch) | |
tree | 5fa69ea55c9aed57b4d7c2d8190f69312009af07 /nixos | |
parent | 91078ee339540480bd61ef6c29f74f88bc4e712a (diff) | |
parent | 69e4e4934d0dc9e9a0c991abbcd00b7e81519c79 (diff) | |
download | nixlib-907afd17f9846329d174c72d332563f31dee75a8.tar nixlib-907afd17f9846329d174c72d332563f31dee75a8.tar.gz nixlib-907afd17f9846329d174c72d332563f31dee75a8.tar.bz2 nixlib-907afd17f9846329d174c72d332563f31dee75a8.tar.lz nixlib-907afd17f9846329d174c72d332563f31dee75a8.tar.xz nixlib-907afd17f9846329d174c72d332563f31dee75a8.tar.zst nixlib-907afd17f9846329d174c72d332563f31dee75a8.zip |
Merge pull request #46068 from azazel75/alertmanager-flags
Prometheus Alertmanager: Allow the definition of extra options on commandline
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/monitoring/prometheus/alertmanager.nix | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixos/modules/services/monitoring/prometheus/alertmanager.nix index 8a47c9f1e7d8..8a44cf7fd8f6 100644 --- a/nixos/modules/services/monitoring/prometheus/alertmanager.nix +++ b/nixos/modules/services/monitoring/prometheus/alertmanager.nix @@ -9,6 +9,15 @@ let if cfg.configText != null then pkgs.writeText "alertmanager.yml" cfg.configText else mkConfigFile; + cmdlineArgs = cfg.extraFlags ++ [ + "--config.file ${alertmanagerYml}" + "--web.listen-address ${cfg.listenAddress}:${toString cfg.port}" + "--log.level ${cfg.logLevel}" + ] ++ (optional (cfg.webExternalUrl != null) + "--web.external-url ${cfg.webExternalUrl}" + ) ++ (optional (cfg.logFormat != null) + "--log.format ${cfg.logFormat}" + ); in { options = { services.prometheus.alertmanager = { @@ -99,6 +108,14 @@ in { Open port in firewall for incoming connections. ''; }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching the Alertmanager. + ''; + }; }; }; @@ -111,11 +128,7 @@ in { after = [ "network.target" ]; script = '' ${pkgs.prometheus-alertmanager.bin}/bin/alertmanager \ - --config.file ${alertmanagerYml} \ - --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ - --log.level ${cfg.logLevel} \ - ${optionalString (cfg.webExternalUrl != null) ''--web.external-url ${cfg.webExternalUrl} \''} - ${optionalString (cfg.logFormat != null) "--log.format ${cfg.logFormat}"} + ${concatStringsSep " \\\n " cmdlineArgs} ''; serviceConfig = { |