Search code examples
springkubernetesspring-batchspring-cloud-dataflow

Spring Cloud Dataflow Volume Mounts for Composed Tasks


Can you mount volumes on composed tasks?

I see you can pass arguments to composed tasks as follows:

 --arguments "--composed-task-arguments=--app.datasource.jdbc-url=jdbc:mysql:XXXXX"

and pass properties to the deployer to mount volumes as so:

 --properties "deployer.*.kubernetes.volumeMounts=[{name: 'myName', mountPath: 
'/test'}], deployer.*.kubernetes.volumes=[{name: 'myName', persistentVolumeClaim: { 
claimName: 'myName'}}]"

However in doing so I only see the volume mounted on the composed task runner and not child tasks spawned from it. Is there a way to do this?


Solution

  • Please refer the answer to the question: passing properties to child task of composed-task-runner app of spring cloud dataflow

    To be precise, you need to do something like this:

    deployer.<name-of-your-composed-task>.<child task name/label>.kubernetes.volumeMounts=***
    

    The documentation here can help you understand this better as well.