MCPcopy
hub / github.com/argoproj/argo-workflows

github.com/argoproj/argo-workflows @v4.0.6 sqlite

repository ↗ · DeepWiki ↗ · release v4.0.6 ↗
12,750 symbols 49,750 edges 1,180 files 2,484 documented · 19%
README

Security Status OpenSSF Best Practices OpenSSF Scorecard FOSSA License Status Slack X Follow LinkedIn Bluesky Release Version Artifact HUB

What is Argo Workflows?

Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Argo Workflows is implemented as a Kubernetes CRD (Custom Resource Definition).

  • Define workflows where each step is a container.
  • Model multi-step workflows as a sequence of tasks or capture the dependencies between tasks using a directed acyclic graph (DAG).
  • Easily run compute intensive jobs for machine learning or data processing in a fraction of the time using Argo Workflows on Kubernetes.

Argo is a Cloud Native Computing Foundation (CNCF) graduated project.

Use Cases

Why Argo Workflows?

  • Argo Workflows is the most popular workflow execution engine for Kubernetes.
  • Light-weight, scalable, and easier to use.
  • Designed from the ground up for containers without the overhead and limitations of legacy VM and server-based environments.
  • Cloud agnostic and can run on any Kubernetes cluster.

Read what people said in our latest survey

Try Argo Workflows

You can try Argo Workflows via one of the following:

  1. Interactive Training Material
  2. Access the demo environment

Screenshot

Who uses Argo Workflows?

About 200+ organizations are officially using Argo Workflows

Ecosystem

Just some of the projects that use or rely on Argo Workflows (complete list here):

Client Libraries

Check out our Java, Golang, Python (Hera), and Typescript (Juno) clients.

Quickstart

Documentation

View the docs

Features

An incomplete list of features Argo Workflows provides:

  • UI to visualize and manage Workflows
  • Artifact support (S3, Artifactory, Alibaba Cloud OSS, Azure Blob Storage, HTTP, Git, GCS, raw, plugins)
  • Workflow templating to store commonly used Workflows in the cluster
  • Archiving Workflows after executing for later access
  • Scheduled workflows using cron
  • Server interface with REST API (HTTP and GRPC)
  • DAG or Steps based declaration of workflows
  • Step level input & outputs (artifacts/parameters)
  • Loops
  • Parameterization
  • Conditionals
  • Timeouts (step & workflow level)
  • Retry (step & workflow level)
  • Resubmit (memoized)
  • Suspend & Resume
  • Cancellation
  • K8s resource orchestration
  • Exit Hooks (notifications, cleanup)
  • Garbage collection of completed workflow
  • Scheduling (affinity/tolerations/node selectors)
  • Volumes (ephemeral/existing)
  • Parallelism limits
  • Daemoned steps
  • DinD (docker-in-docker)
  • Script steps
  • Event emission
  • Prometheus metrics
  • Multiple executors
  • Multiple pod and workflow garbage collection strategies
  • Automatically calculated resource usage per step
  • Java, Golang, Python (Hera), and Typescript (Juno) SDKs
  • Pod Disruption Budget support
  • Single-sign on (OAuth2/OIDC)
  • Webhook triggering
  • CLI
  • Out-of-the box and custom Prometheus metrics
  • Windows container support
  • Embedded widgets
  • Multiplex log viewer

Community Meetings

We host monthly community meetings where we and the community showcase demos and discuss the current and future state of the project. Feel free to join us! For Community Meeting information, minutes and recordings, please see here.

Participation in Argo Workflows is governed by the CNCF Code of Conduct

Community Blogs and Presentations

Project Resources

Security

See SECURITY.md.

Extension points exported contracts — how you extend this code

WorkflowNamespaceLister (Interface)
WorkflowNamespaceLister helps list and get Workflows. All objects returned here must be treated as read-only. [31 implementers]
pkg/client/listers/workflow/v1alpha1/workflow.go
WorkflowTemplateNamespacedGetter (Interface)
WorkflowTemplateNamespacedGetter helps get WorkflowTemplates. [53 implementers]
workflow/templateresolution/context.go
ArtifactDriver (Interface)
ArtifactDriver is the interface for loading and saving of artifacts [13 implementers]
workflow/artifacts/common/common.go
ArtifactLocationType (Interface)
(no doc) [11 implementers]
pkg/apis/workflow/v1alpha1/workflow_types.go
NamespacedRequest (Interface)
(no doc) [59 implementers]
server/types/namespaces.go
Hook (Interface)
Hook is used to tap into the log [4 implementers]
util/logging/logging.go
MemoizationCache (Interface)
(no doc) [15 implementers]
workflow/controller/cache/cache.go
Initializer (Interface)
(no doc) [6 implementers]
workflow/executor/executor.go

Core symbols most depended-on inside this repo

Run
called by 1491
server/clusterworkflowtemplate/informer.go
Context
called by 1409
server/auth/gatekeeper.go
Error
called by 737
errors/errors.go
cancel
called by 519
ui/src/shared/debounce.ts
WithField
called by 487
util/logging/logging.go
Info
called by 471
util/logging/logging.go
operate
called by 471
workflow/controller/operator.go
newWorkflowOperationCtx
called by 454
workflow/controller/operator.go

Shape

Method 7,859
Function 3,583
Struct 856
Interface 309
TypeAlias 87
FuncType 36
Class 19
Enum 1

Languages

Go95%
TypeScript5%
Java1%

Modules by API surface

pkg/apis/workflow/v1alpha1/generated.pb.go2,159 symbols
pkg/apiclient/workflow/workflow.pb.go480 symbols
pkg/apis/workflow/v1alpha1/workflow_types.go399 symbols
pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go345 symbols
pkg/apiclient/artifact/artifact.pb.go294 symbols
pkg/apiclient/sensor/sensor.pb.go226 symbols
pkg/apiclient/eventsource/eventsource.pb.go224 symbols
pkg/apiclient/cronworkflow/cron-workflow.pb.go206 symbols
pkg/apiclient/workflowarchive/workflow-archive.pb.go189 symbols
workflow/controller/operator_test.go183 symbols
pkg/apiclient/workflowtemplate/workflow-template.pb.go164 symbols
pkg/apiclient/clusterworkflowtemplate/cluster-workflow-template.pb.go157 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.121.2 · 1×
cloud.google.com/go/authv0.16.1 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/monitoringv1.24.2 · 1×
cloud.google.com/go/storagev1.55.0 · 1×
dario.cat/mergov1.0.2 · 1×
filippo.io/edwards25519v1.1.1 · 1×
github.com/Azure/azure-sdk-for-gov68.0.0+incompatible · 1×
github.com/Azure/azure-sdk-for-go/sdk/azcorev1.18.0 · 1×

Datastores touched

postgresDatabase · 1 repos
(mysql)Database · 1 repos

For agents

$ claude mcp add argo-workflows \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact