argo

package module
v3.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2024 License: Apache-2.0 Imports: 3 Imported by: 14

README

Security Status OpenSSF Best Practices OpenSSF Scorecard FOSSA License Status Slack Twitter Follow LinkedIn 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 and Python clients.

Quickstart

Documentation

View the docs

Features

An incomplete list of features Argo Workflows provide:

  • UI to visualize and manage Workflows
  • Artifact support (S3, Artifactory, Alibaba Cloud OSS, Azure Blob Storage, HTTP, Git, GCS, raw)
  • 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 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.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetVersion

func GetVersion() wfv1.Version

GetVersion returns the version information

func ImageTag added in v3.3.2

func ImageTag() string

ImageTag return the image tag. GetVersion().Version adulterates the version making it useless as the image tag.

Types

This section is empty.

Directories

Path Synopsis
cmd
hack
persist
pkg
apiclient/clusterworkflowtemplate
Package clusterworkflowtemplate is a reverse proxy.
Package clusterworkflowtemplate is a reverse proxy.
apiclient/cronworkflow
Package cronworkflow is a reverse proxy.
Package cronworkflow is a reverse proxy.
apiclient/event
Package event is a reverse proxy.
Package event is a reverse proxy.
apiclient/eventsource
Package eventsource is a reverse proxy.
Package eventsource is a reverse proxy.
apiclient/info
Package info is a reverse proxy.
Package info is a reverse proxy.
apiclient/sensor
Package sensor is a reverse proxy.
Package sensor is a reverse proxy.
apiclient/workflow
Package workflow is a reverse proxy.
Package workflow is a reverse proxy.
apiclient/workflowarchive
Package workflowarchive is a reverse proxy.
Package workflowarchive is a reverse proxy.
apiclient/workflowtemplate
Package workflowtemplate is a reverse proxy.
Package workflowtemplate is a reverse proxy.
apis/workflow/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/workflow/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/workflow/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
plugins/executor
Package executor The API for an executor plugin.
Package executor The API for an executor plugin.
server
static
File built without static files
File built without static files
test
e2e
cmd
Package cmd provides functionally common to various argo CLIs
Package cmd provides functionally common to various argo CLIs
context
Package context contains common functions for storing and retrieving information from standard go context
Package context contains common functions for storing and retrieving information from standard go context
deprecation
Package deprecation records uses of deprecated features so that users can be made aware of things that may be removed in a future version and move away from them.
Package deprecation records uses of deprecated features so that users can be made aware of things that may be removed in a future version and move away from them.
env
k8s
tls
workflow

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL