nixos/prometheus: use pkgs.formats.json.generate to write config file
The old way of writing the file omited qoutes within strings which are needed by some configurations like federations. The quotes got lost when `echo`ing the content via `echo '${builtins.toJSON x}'`. The pkgs.formats.json does handle that race condition properly, so this commit switches the writing to that helper.
This commit is contained in:
parent
439aeb2fe9
commit
7f01ff7822
1 changed files with 2 additions and 7 deletions
|
@ -3,6 +3,7 @@
|
|||
with lib;
|
||||
|
||||
let
|
||||
json = pkgs.formats.json { };
|
||||
cfg = config.services.prometheus;
|
||||
|
||||
workingDir = "/var/lib/" + cfg.stateDir;
|
||||
|
@ -34,13 +35,7 @@ let
|
|||
promtool ${what} $out
|
||||
'' else file;
|
||||
|
||||
# Pretty-print JSON to a file
|
||||
writePrettyJSON = name: x:
|
||||
pkgs.runCommandLocal name { } ''
|
||||
echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out
|
||||
'';
|
||||
|
||||
generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;
|
||||
generatedPrometheusYml = json.generate "prometheus.yml" promConfig;
|
||||
|
||||
# This becomes the main config file for Prometheus
|
||||
promConfig = {
|
||||
|
|
Loading…
Reference in a new issue