Argo Workflows — Kubernetes-Native Workflow Engine
Argo Workflows is a CNCF-graduated workflow engine for orchestrating parallel jobs on Kubernetes, modelling pipelines as DAGs where each step runs as a container.
What it is
Argo Workflows is a CNCF-graduated workflow engine for orchestrating parallel jobs on Kubernetes. It models data pipelines, CI jobs, batch processing, and ML training as directed acyclic graphs (DAGs) where each step runs as a container.
Argo Workflows is built for platform engineers and data teams who need Kubernetes-native workflow orchestration with artifact passing, retry logic, and a visual UI.
How it saves time or tokens
Argo Workflows eliminates custom scripting for job orchestration. Instead of writing shell scripts that manage pod lifecycles, you declare workflows as YAML manifests. The engine handles parallelism, retries, timeouts, and artifact passing between steps. The web UI provides real-time visibility into running workflows.
How to use
- Install the controller and UI:
kubectl create namespace argo
kubectl apply -n argo -f https://github.com/argoproj/argo-workflows/releases/latest/download/install.yaml
- Install the CLI and submit a workflow:
brew install argo
argo submit -n argo --watch https://raw.githubusercontent.com/argoproj/argo-workflows/main/examples/hello-world.yaml
- Access the UI:
kubectl -n argo port-forward svc/argo-server 2746:2746
# Open http://localhost:2746
Example
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: dag-pipeline-
spec:
entrypoint: pipeline
templates:
- name: pipeline
dag:
tasks:
- name: fetch-data
template: run
arguments:
parameters: [{name: cmd, value: 'curl -o /tmp/data.csv https://example.com/data'}]
- name: process
template: run
dependencies: [fetch-data]
arguments:
parameters: [{name: cmd, value: 'python process.py'}]
- name: report
template: run
dependencies: [process]
arguments:
parameters: [{name: cmd, value: 'python report.py'}]
- name: run
inputs:
parameters: [{name: cmd}]
container:
image: python:3.11
command: [sh, -c]
args: ['{{inputs.parameters.cmd}}']
Related on TokRepo
- DevOps tools — Kubernetes and infrastructure automation
- Automation tools — workflow orchestration resources
Common pitfalls
- Not configuring artifact storage (S3/GCS), which limits artifact passing between steps
- Running the argo-server without authentication in production environments
- Creating workflows with too many parallel steps without setting resource quotas
Frequently Asked Questions
Argo Workflows is Kubernetes-native where each step runs as a container. Airflow runs tasks as Python functions in a centralized scheduler. Argo is better for containerized workloads; Airflow is better for Python-centric data pipelines with extensive operator libraries.
Yes. Argo Workflows supports GPU scheduling, artifact passing for model weights, parameter sweeps, and integration with Kubeflow. Many ML teams use it for training, evaluation, and deployment pipelines.
Argo Workflows orchestrates batch jobs and pipelines. Argo CD handles continuous deployment (GitOps). They are separate projects under the Argo umbrella and can be used together or independently.
Yes. CronWorkflow resources let you schedule workflows on a cron expression. This is useful for recurring batch jobs, nightly builds, and periodic data processing.
Use artifacts (files stored in S3, GCS, or MinIO) or parameters (string values). Artifacts are better for large datasets; parameters work for small values like IDs or status codes.
Citations (3)
- Argo Workflows GitHub— Argo Workflows is a CNCF-graduated project
- Argo Workflows Documentation— Kubernetes-native workflow orchestration
- CNCF Landscape— CNCF graduated project status
Related on TokRepo
Discussion
Related Assets
HumHub — Open-Source Enterprise Social Network
A flexible, open-source social networking platform built on Yii2 for creating private communities, intranets, and collaboration spaces within organizations.
Dolibarr — Open-Source ERP & CRM for Business Management
A modular open-source ERP and CRM application written in PHP for managing contacts, invoices, orders, inventory, accounting, and more from a single web interface.
PrestaShop — Open-Source PHP E-Commerce Platform
A widely adopted open-source e-commerce platform written in PHP with a rich module marketplace, multi-language support, and a strong European user base.