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;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
json = pkgs.formats.json { };
|
||||||
cfg = config.services.prometheus;
|
cfg = config.services.prometheus;
|
||||||
|
|
||||||
workingDir = "/var/lib/" + cfg.stateDir;
|
workingDir = "/var/lib/" + cfg.stateDir;
|
||||||
|
@ -34,13 +35,7 @@ let
|
||||||
promtool ${what} $out
|
promtool ${what} $out
|
||||||
'' else file;
|
'' else file;
|
||||||
|
|
||||||
# Pretty-print JSON to a file
|
generatedPrometheusYml = json.generate "prometheus.yml" promConfig;
|
||||||
writePrettyJSON = name: x:
|
|
||||||
pkgs.runCommandLocal name { } ''
|
|
||||||
echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out
|
|
||||||
'';
|
|
||||||
|
|
||||||
generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;
|
|
||||||
|
|
||||||
# This becomes the main config file for Prometheus
|
# This becomes the main config file for Prometheus
|
||||||
promConfig = {
|
promConfig = {
|
||||||
|
|
Loading…
Reference in a new issue