Skip to content

Empty Dir

Not all workflow executors can get output artifacts/parameters from the base layer (e.g. /tmp). It is unlikely you can get output artifacts/parameters from the base layer if you run your workflow pods with a security context.

You can work around this constraint by mounting volumes onto your pod. The easiest way to do this is to use an emptyDir volume.

Note

This is only needed for output artifacts/parameters. Input artifacts/parameters are automatically mounted to an empty-dir if needed

This example shows how to mount an output volume:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: empty-dir-
spec:
  entrypoint: main
  templates:
    - name: main
      container:
        image: argoproj/argosay:v2
        command: [sh, -c]
        args: ["cowsay hello world | tee /mnt/out/hello_world.txt"]
        volumeMounts:
          - name: out
            mountPath: /mnt/out
      volumes:
        - name: out
          emptyDir: { }
      outputs:
        parameters:
          - name: message
            valueFrom:
              path: /mnt/out/hello_world.txt

Have a question?

Search on GitHub Discussions and Slack.