apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: annotations: pipelines.kubeflow.org/pipeline_spec: '{"description": "A Basic Example on VolumeOp Usage.", "inputs": [{"name": "size"}], "name": "VolumeOp Basic"}' generateName: volumeop-basic- spec: arguments: parameters: - name: size entrypoint: volumeop-basic serviceAccountName: pipeline-runner templates: - container: args: - echo foo > /mnt/file1 command: - sh - -c image: library/bash:4.4.23 volumeMounts: - mountPath: /mnt name: create-pvc inputs: parameters: - name: create-pvc-name name: cop volumes: - name: create-pvc persistentVolumeClaim: claimName: '{{inputs.parameters.create-pvc-name}}' - inputs: parameters: - name: size name: create-pvc outputs: parameters: - name: create-pvc-manifest valueFrom: jsonPath: '{}' - name: create-pvc-name valueFrom: jsonPath: '{.metadata.name}' - name: create-pvc-size valueFrom: jsonPath: '{.status.capacity.storage}' resource: action: create manifest: "apiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n name: '{{workflow.name}}-my-pvc'\n\ spec:\n accessModes:\n - ReadWriteMany\n resources:\n requests:\n \ \ storage: '{{inputs.parameters.size}}'\n" - dag: tasks: - arguments: parameters: - name: create-pvc-name value: '{{tasks.create-pvc.outputs.parameters.create-pvc-name}}' dependencies: - create-pvc name: cop template: cop - arguments: parameters: - name: size value: '{{inputs.parameters.size}}' name: create-pvc template: create-pvc inputs: parameters: - name: size name: volumeop-basic