nixos/prometheus-exporters/fastly: fix secret handling

The exporter expects the token as an environment variable, not a path
to the file containing the token.

Changed files
+5 -6
nixos
modules
services
monitoring
prometheus
exporters
tests
+4 -5
nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
···
'';
};
-
tokenPath = mkOption {
+
environmentFile = mkOption {
type = path;
description = ''
-
A run-time path to the token file, which is supposed to be provisioned
-
outside of Nix store.
+
An environment file containg at least the FASTLY_API_TOKEN= environment
+
variable.
'';
};
};
serviceOpts = {
serviceConfig = {
-
LoadCredential = "fastly-api-token:${cfg.tokenPath}";
-
Environment = [ "FASTLY_API_TOKEN=%d/fastly-api-token" ];
+
EnvironmentFile = cfg.environmentFile;
ExecStart = escapeSystemdExecArgs (
[
(getExe pkgs.prometheus-fastly-exporter)
+1 -1
nixos/tests/prometheus-exporters.nix
···
fastly = {
exporterConfig = {
enable = true;
-
tokenPath = pkgs.writeText "token" "abc123";
+
environmentFile = pkgs.writeText "fastly-exporter-env" "FASTLY_API_TOKEN=abc123";
};
exporterTest = ''