Repository navigation
Allow to specifiy tmpfs for volume in taskRunner #19892
Description
Activity
- locked and limited conversation to collaborators
on Sep 17, 2026 - addedarea/pluginPlugin-related issue or feature requestPlugin-related issue or feature request
on Sep 17, 2026 - unlocked this conversation
on Sep 18, 2026 - addedgood first issueGreat issue for new contributorsGreat issue for new contributors
on Sep 18, 2026 @thomas-depierre and @fdelbrayelle I would like to work on this feature.
@Jainish-123 François is the one who will tell you :) Just wait until Monday.
Sure @thomas-depierre
Hello @Jainish-123 👋 Sure, go for it, thank you! 🚀
Reacted by thomas-depierreHey @Jainish-123, are there any updates on this?
Hey @MilosPaunovic Thanks for checking in! I will be working on this over the weekend and will share an update once I have made some progress.
Reacted by Miloš Paunović and François DelbrayelleReacted by thomas-depierreHey @Jainish-123, are there any updates on this?
Hi, I have a couple of questions before I start.
First, which repo should the PR go to? The issue is here on plugin-scripts, but
Docker.javais actually in kestra-io/kestra underscript/src/main/java/io/kestra/plugin/scripts/runner/docker/. This repo only mentions it in examples. Assuming kestra core?Second, which volume did you mean? There are two it could be:
- the ones a user mounts themselves via the existing
volumes:option - the working directory Kestra creates on its own to move
inputFilesandoutputFilesin and out of the container
Depending on which, the option looks quite different. Either let people name any path:
taskRunner: type: io.kestra.plugin.scripts.runner.docker.Docker tmpfs: /scratch: "rw,size=512m"
or just a flag like
tmpfsWorkingDirectory: truefor the second case.Which would you prefer?"
- the ones a user mounts themselves via the existing
Hi @Jainish-123 👋
Yes it's in Kestra core repository indeed.
For the volume question, would you have more insights @thomas-depierre 🙏 ? Thanks!Indeed, the goal is to keep
inputFilesandoutputFilesin atmpfsto boost performance and avoid unnecessary I/O.In my view, this configuration should align with how a
taskRunneris defined (while thetmpfsWorkingDirectory: truesetting is certainly convenient, it doesn't allow for specifying limits or other parameters).We cannot use the
volumesproperty, as it already lists the mount points to be mapped.So, why not add a property, perhaps called
volumesInMemory, where each item allows you to specify a size limit, an optional internal path, and so on?For example:
taskRunner: type: io.kestra.plugin.scripts.runner.docker.Docker cpu: cpus: 4 memory: memory: "8Gb" volumesInMemory: vol_one: sizeLimit: "64Gb" vol_two: sizeLimit: "12Gb"Of course, this is just a suggestion; if you have a better idea, I'm all ears. :)
Reacted by François Delbrayelle
Metadata
Metadata
Assignees
Labels
Type
Fields
Stage
Feature description
When using the "io.kestra.plugin.scripts.runner.docker.Docker" task runner with a specific image, it would be very useful to be able to specify that the volume be mounted in RAM using tmpfs.