Merge pull request #312785 from emilylange/fix-nixos-loki-config-validation

nixos/loki: skip config validation when it's impossible to validate

Changed files
+7 -2
nixos
modules
services
monitoring
+7 -2
nixos/modules/services/monitoring/loki.nix
···
serviceConfig = let
conf = if cfg.configFile == null
-
then prettyJSON cfg.configuration
+
then
+
# Config validation may fail when using extraFlags = [ "-config.expand-env=true" ].
+
# To work around this, we simply skip it when extraFlags is not empty.
+
if cfg.extraFlags == []
+
then validateConfig (prettyJSON cfg.configuration)
+
else prettyJSON cfg.configuration
else cfg.configFile;
validateConfig = file:
pkgs.runCommand "validate-loki-conf" {
···
'';
in
{
-
ExecStart = "${cfg.package}/bin/loki --config.file=${validateConfig conf} ${escapeShellArgs cfg.extraFlags}";
+
ExecStart = "${cfg.package}/bin/loki --config.file=${conf} ${escapeShellArgs cfg.extraFlags}";
User = cfg.user;
Restart = "always";
PrivateTmp = true;