mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-18 02:44:30 +00:00
nixos/promtail: configFile for passing path as config (#322426)
This commit is contained in:
commit
8db885974b
@ -10,15 +10,29 @@ let
|
||||
|
||||
allowPositionsFile = !lib.hasPrefix "/var/cache/promtail" positionsFile;
|
||||
positionsFile = cfg.configuration.positions.filename;
|
||||
|
||||
configFile = if cfg.configFile != null
|
||||
then cfg.configFile
|
||||
else prettyJSON cfg.configuration;
|
||||
|
||||
in {
|
||||
options.services.promtail = with types; {
|
||||
enable = mkEnableOption "the Promtail ingresser";
|
||||
|
||||
|
||||
configuration = mkOption {
|
||||
type = (pkgs.formats.json {}).type;
|
||||
description = ''
|
||||
Specify the configuration for Promtail in Nix.
|
||||
This option will be ignored if `services.promtail.configFile` is defined.
|
||||
'';
|
||||
};
|
||||
|
||||
configFile = mkOption {
|
||||
type = nullOr path;
|
||||
default = null;
|
||||
description = ''
|
||||
Config file path for Promtail.
|
||||
If this option is defined, the value of `services.promtail.configuration` will be ignored.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -42,14 +56,14 @@ in {
|
||||
stopIfChanged = false;
|
||||
|
||||
preStart = ''
|
||||
${lib.getExe pkgs.promtail} -config.file=${prettyJSON cfg.configuration} -check-syntax
|
||||
${lib.getExe pkgs.promtail} -config.file=${configFile} -check-syntax
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Restart = "on-failure";
|
||||
TimeoutStopSec = 10;
|
||||
|
||||
ExecStart = "${pkgs.promtail}/bin/promtail -config.file=${prettyJSON cfg.configuration} ${escapeShellArgs cfg.extraFlags}";
|
||||
ExecStart = "${pkgs.promtail}/bin/promtail -config.file=${configFile} ${escapeShellArgs cfg.extraFlags}";
|
||||
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = true;
|
||||
|
Loading…
Reference in New Issue
Block a user