Merge pull request #318659 from mweinelt/fastly-exporter

nixos/prometheus-fastly-exporter: unwrap execstart
This commit is contained in:
Martin Weinelt 2024-07-03 12:40:10 +02:00 committed by GitHub
commit 84164bf098
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 25 additions and 21 deletions

View File

@ -1,17 +1,20 @@
{ config
, lib
, pkgs
, options
, ...
{
config,
lib,
pkgs,
utils,
...
}:
let
inherit (lib)
escapeShellArgs
getExe
mkOption
optionals
types
;
;
inherit (utils) escapeSystemdExecArgs;
cfg = config.services.prometheus.exporters.fastly;
in
@ -39,17 +42,19 @@ in
serviceOpts = {
serviceConfig = {
LoadCredential = "fastly-api-token:${cfg.tokenPath}";
Environment = [ "FASTLY_API_TOKEN=%d/fastly-api-token" ];
ExecStart = escapeSystemdExecArgs (
[
(getExe pkgs.prometheus-fastly-exporter)
"-listen"
"${cfg.listenAddress}:${toString cfg.port}"
]
++ optionals (cfg.configFile != null) [
"--config-file"
cfg.configFile
]
++ cfg.extraFlags
);
};
script = let
call = escapeShellArgs ([
"${pkgs.prometheus-fastly-exporter}/bin/fastly-exporter"
"-listen" "${cfg.listenAddress}:${toString cfg.port}"
] ++ optionals (cfg.configFile != null) [
"--config-file" cfg.configFile
] ++ cfg.extraFlags);
in ''
export FASTLY_API_TOKEN="$(cat $CREDENTIALS_DIRECTORY/fastly-api-token)"
${call}
'';
};
}

View File

@ -314,10 +314,9 @@ let
tokenPath = pkgs.writeText "token" "abc123";
};
# noop: fastly's exporter can't start without first talking to fastly
# see: https://github.com/peterbourgon/fastly-exporter/issues/87
exporterTest = ''
succeed("true");
wait_for_unit("prometheus-fastly-exporter.service")
wait_for_open_port(9118)
'';
};