Event-driven workflow automation framework for Kubernetes that triggers actions from webhooks, cron, S3, and message queues.
argoproj/argo-workflows
Container-native workflow engine for orchestrating parallel jobs on Kubernetes, implemented as a CRD.
Open-source alternative to:Apache Airflow
- Stars
- 17,082
- Forks
- 3,727
- Open issues
- 1,372
- Last commit
- 8 hours ago
What is it?
Argo Workflows runs multi-step jobs on Kubernetes, where each step is a container. Workflows can be declared as an ordered sequence of tasks or as a directed acyclic graph (DAG) that captures dependencies between tasks. It is implemented as a Kubernetes Custom Resource Definition, so workflows are managed with standard cluster tooling.
It targets compute-heavy batch work such as machine learning pipelines, data processing, infrastructure automation, and CI/CD. Steps support parameters and artifacts passed between them, conditionals, loops, retries, timeouts, and scheduled runs via cron. A web UI visualizes and manages workflows, and REST and gRPC APIs are available, along with Java, Go, Python (Hera), and TypeScript (Juno) SDKs.
The project is a CNCF graduated project and works on any Kubernetes cluster. Artifacts can be stored in S3, GCS, Azure Blob Storage, Git, HTTP endpoints and other backends.
Key features
- 01Define workflows as DAGs or step sequences, with each step running in a container
- 02Web UI for visualizing and managing workflows
- 03Artifact passing to S3, GCS, Azure Blob, Git and other storage backends
- 04Cron-based scheduled workflows and webhook triggering
- 05REST and gRPC API plus Java, Go, Python and TypeScript SDKs
- 06Retries, timeouts, conditionals, loops and suspend/resume at step or workflow level
Use cases
- Running machine learning training and data processing pipelines on Kubernetes clusters
- Orchestrating CI/CD jobs as containerized workflows
- Automating infrastructure tasks with multi-step dependencies
- Executing large batches of parallel compute jobs
Quick start
- 1
Open the official quick-start guide in the Argo Workflows documentation
- 2
Work through the walk-through examples in the documentation
Things to know
- Requires a Kubernetes cluster, since it is implemented as a Kubernetes CRD.
In collections
Topics
FAQ
- What is argo-workflows?
- Container-native workflow engine for orchestrating parallel jobs on Kubernetes, implemented as a CRD. Argo Workflows runs multi-step jobs on Kubernetes, where each step is a container. Workflows can be declared as an ordered sequence of tasks or as a directed acyclic graph (DAG) that captures dependencies between tasks. It is implemented as a Kubernetes Custom Resource Definition, so workflows are managed with standard cluster tooling.
- Is argo-workflows free to use? What license does it have?
- argo-workflows is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is argo-workflows still maintained?
- Actively maintained. The last commit to argo-workflows was on Nov 6, 2026.
- What can I use argo-workflows for?
- Running machine learning training and data processing pipelines on Kubernetes clusters Orchestrating CI/CD jobs as containerized workflows Automating infrastructure tasks with multi-step dependencies Executing large batches of parallel compute jobs
- How do I install argo-workflows?
- Open the official quick-start guide in the Argo Workflows documentation Work through the walk-through examples in the documentation
- Where can I get argo-workflows?
- The source code and installation instructions are on GitHub: https://github.com/argoproj/argo-workflows
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Netflix's general-purpose workflow orchestrator, offered as a workflow-as-a-service for scheduling and running data and ML pipelines.
A distributed, low-code data orchestration platform for building, scheduling and monitoring complex data pipeline workflows.
A Python orchestration platform for defining, running, and monitoring data assets such as tables, datasets, ML models, and reports.
A lightweight Python library for defining data transformations as testable, self-documenting DAGs that run wherever Python runs.
A declarative GitOps continuous delivery tool that syncs Kubernetes applications to the state defined in Git repositories.