Passing Artifacts in Argo Workflows

George Novack
7 min readSep 30, 2021

Last time, I took a look at Argo, and walked through the basics of how to create and run a simple containerized workflow. In this article, I’ll dive a little deeper into the different ways that we can pass data between multiple steps in an Argo Workflow.

Setup

If you would like to follow along with the examples below, you’ll need access to a Kubernetes cluster with Argo installed. If you need any help with this setup, feel free to follow the Setting up a Kubernetes Cluster section in my previous article: Creating Containerized Workflows with Argo

Parameters and Artifacts

A key feature of any workflow engine is the ability to pass data between mulitple steps in a workflow, using the output of one step as the the input to a subsequent step. Using Argo, there are two different ways that we can pass data between steps: Parameters and Artifacts.

Working with Parameters

Parameter passing is the simpler of the two options, and allows us to pass string values between steps in a workflow. Let’s see how this works with a quick example. We’ll create a workflow that generates two random integers, then passes these as parameters to a final step that will compute their difference.

--

--