Merge pull request #207093 from ymarkus/alertmanager
nixos/alertmanager: add checkConfig option
This commit is contained in:
commit
cf0327810b
|
@ -6,10 +6,12 @@ let
|
|||
cfg = config.services.prometheus.alertmanager;
|
||||
mkConfigFile = pkgs.writeText "alertmanager.yml" (builtins.toJSON cfg.configuration);
|
||||
|
||||
checkedConfig = file: pkgs.runCommand "checked-config" { buildInputs = [ cfg.package ]; } ''
|
||||
ln -s ${file} $out
|
||||
amtool check-config $out
|
||||
'';
|
||||
checkedConfig = file:
|
||||
if cfg.checkConfig then
|
||||
pkgs.runCommand "checked-config" { buildInputs = [ cfg.package ]; } ''
|
||||
ln -s ${file} $out
|
||||
amtool check-config $out
|
||||
'' else file;
|
||||
|
||||
alertmanagerYml = let
|
||||
yml = if cfg.configText != null then
|
||||
|
@ -70,6 +72,20 @@ in {
|
|||
'';
|
||||
};
|
||||
|
||||
checkConfig = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Check configuration with `amtool check-config`. The call to `amtool` is
|
||||
subject to sandboxing by Nix.
|
||||
|
||||
If you use credentials stored in external files
|
||||
(`environmentFile`, etc),
|
||||
they will not be visible to `amtool`
|
||||
and it will report errors, despite a correct configuration.
|
||||
'';
|
||||
};
|
||||
|
||||
logFormat = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
|
|
Loading…
Reference in a new issue