nixos/prometheus: check alertmanager configuration
This commit is contained in:
parent
d1ef00ebee
commit
b1032db5a9
@ -5,10 +5,18 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.services.prometheus.alertmanager;
|
cfg = config.services.prometheus.alertmanager;
|
||||||
mkConfigFile = pkgs.writeText "alertmanager.yml" (builtins.toJSON cfg.configuration);
|
mkConfigFile = pkgs.writeText "alertmanager.yml" (builtins.toJSON cfg.configuration);
|
||||||
alertmanagerYml =
|
|
||||||
if cfg.configText != null then
|
checkedConfig = file: pkgs.runCommand "checked-config" { buildInputs = [ cfg.package ]; } ''
|
||||||
pkgs.writeText "alertmanager.yml" cfg.configText
|
ln -s ${file} $out
|
||||||
else mkConfigFile;
|
amtool check-config $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
alertmanagerYml = let
|
||||||
|
yml = if cfg.configText != null then
|
||||||
|
pkgs.writeText "alertmanager.yml" cfg.configText
|
||||||
|
else mkConfigFile;
|
||||||
|
in checkedConfig yml;
|
||||||
|
|
||||||
cmdlineArgs = cfg.extraFlags ++ [
|
cmdlineArgs = cfg.extraFlags ++ [
|
||||||
"--config.file ${alertmanagerYml}"
|
"--config.file ${alertmanagerYml}"
|
||||||
"--web.listen-address ${cfg.listenAddress}:${toString cfg.port}"
|
"--web.listen-address ${cfg.listenAddress}:${toString cfg.port}"
|
||||||
|
Loading…
Reference in New Issue
Block a user