logstash: fix support for multiple plugin paths

This commit is contained in:
Sean Buckley 2020-06-08 00:04:15 -04:00
parent 467ce5a9f4
commit ebc2067bc5

View File

@ -4,13 +4,9 @@ with lib;
let let
cfg = config.services.logstash; cfg = config.services.logstash;
pluginPath = lib.concatStringsSep ":" cfg.plugins;
havePluginPath = lib.length cfg.plugins > 0;
ops = lib.optionalString; ops = lib.optionalString;
verbosityFlag = "--log.level " + cfg.logLevel; verbosityFlag = "--log.level " + cfg.logLevel;
pluginsPath = "--path.plugins ${pluginPath}";
logstashConf = pkgs.writeText "logstash.conf" '' logstashConf = pkgs.writeText "logstash.conf" ''
input { input {
${cfg.inputConfig} ${cfg.inputConfig}
@ -173,7 +169,7 @@ in
ExecStart = concatStringsSep " " (filter (s: stringLength s != 0) [ ExecStart = concatStringsSep " " (filter (s: stringLength s != 0) [
"${cfg.package}/bin/logstash" "${cfg.package}/bin/logstash"
"-w ${toString cfg.filterWorkers}" "-w ${toString cfg.filterWorkers}"
(ops havePluginPath pluginsPath) (concatMapStringsSep " " (x: "--path.plugins ${x}") cfg.plugins)
"${verbosityFlag}" "${verbosityFlag}"
"-f ${logstashConf}" "-f ${logstashConf}"
"--path.settings ${logstashSettingsDir}" "--path.settings ${logstashSettingsDir}"