Quick Start
What's New?
Find out in our blog post
Argo CLI
Mac
Available via curl
# Download the binary
curl -sLO https://github.com/argoproj/argo/releases/download/v2.11.0-rc1/argo-darwin-amd64.gz
# Unzip
gunzip argo-darwin-amd64.gz
# Make binary executable
chmod +x argo-darwin-amd64
# Move binary to path
mv ./argo-darwin-amd64 /usr/local/bin/argo
# Test installation
argo version
Linux
Available via curl
# Download the binary
curl -sLO https://github.com/argoproj/argo/releases/download/v2.11.0-rc1/argo-linux-amd64.gz
# Unzip
gunzip argo-linux-amd64.gz
# Make binary executable
chmod +x argo-linux-amd64
# Move binary to path
mv ./argo-linux-amd64 /usr/local/bin/argo
# Test installation
argo version
Argo Controller
kubectl create namespace argo
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo/v2.11.0-rc1/manifests/install.yaml
Changes
Enhancements
- #2080 Argo Workflow for ARM?
- #2308 Migrate toward structured logging
- #2667 Trigger workflows from webhook
- #2677 Workflow mutexes
- #3061 Artifact Reference Subpath
- #3080 BASE_HREF is not working
- #3491 support optional Input artifacts when artifacts not exist
- #3543 New UI editor should default to YAML
- #3567 Migrate Argo CLI to homebrew-core
- #3576 Reduce CLI binary size
- #3621 Make it easier to find out the cron/template/cluster template that the workflow was submitted from
- #3673 Surface K8s Events about Nodes to UI
- #3720 Sign-post how to use IDE CRD validation in UI
- #3735 Small correction to workflow template dag example
- #3786 More robust workflow archiving
- #3837 More robust node status offloading
- #3881 Better malformed resource handling
- #3911 Change default retry factor to 2
- #944 Step level memoization
Bug Fixes
- #3217 Operation cannot be fulfilled on resourcequotas "gke-resource-quotas": the object has been modified; please apply your changes to the latest version and try again
- #3498 Set workflow parameters in UI
- #3505 Panic on addOutputsToLocalScope
- #3513 Backoff exponent is off by one
- #3515 v2.9.3 Docker images report they are v2.10.0-rc1
- #3546 Typo in curl command
- #3562 Bearer token error argo + microk8s
- #3578 withItems incorrect type in full CRD
- #3606 Retry on
the server has received too many requests and has asked us to try again later (post pods)
errors - #3608 Re-establish watch on
watch object was not a workflow *v1.Status
error - #3622 Re-submitted workflows do not carry over labels
- #3653 v2.10.0-rc4 nested maps in loop rendered as Golang map[]
- #3666 Malformed WorkflowTemplate crashes whole UI
- #3677 Make the controller tolerant to malformed resources
- #3697 Argo apidocs no longer served
- #3706 Fix
Unable to delete PDB resource for workflow
error - #3737
argo submit
from a WorkflowTemplate with default exit handler produces "invalid field in spec" error - #3756 Creator label too long.
- #3762 Invalid Argo CLI download link in Web UI
- #3769 v2.9.5 brew binary somehow getting replaced by dirty
- #3773 In the UI the namespace is getting replaced by "undefined"
- #3775 Pagesize = all not woking on Archived Workflow View
- #3791 argo cli report wrong workflow state
- #3807 Cron Backfill example doesn't work
- #3818 Re-submitted workflows do not carry over ownerReferences
- #3867 Some UI pages do not recover from errors
- #3879 Pod's phase is failed, but the workflow node status is succeeded.
- #3903 Workflow auto-completes to wrong URL
Other
- #3561 Build failed with flaky test TestStorageQuotaLimit
- #3617 Disable TLS when running in dev mode
- Update manifests to v2.11.0-rc1
- docs: Add 23mofang to USERS.md
- docs: Correct typo in
--instanceid
- docs: memory base amount denominator documentation
Pull Requests
- #3063 feat(artifacts): retrieve subpath from unarchived ref artifact. Closes #3061
- #3277 feat: Add 'argo node set' command
- #3356 feat(controller): Step level memoization. Closes #944
- #3488 feat(server): Trigger workflows from webhooks. Closes #2667
- #3490 fix: Exceeding quota with volumeClaimTemplates
- #3509 fix(controller): Do not panic on nil output value. Fixes #3505
- #3510 chore: Enable no-response bot
- #3512 fix(artifacts): support optional input artifacts, Fixes #3491
- #3514 fix(controller): Backoff exponent is off by one. Fixes #3513
- #3518 fix: String interpreted as boolean in labels
- #3519 ci: Make builds marginally faster. Fixes #3515
- #3526 feat: Collapse children in UI Workflow viewer
- #3528 fix: Fix when retrying Workflows with Omitted nodes
- #3532 fix: Panic on CLI Watch command
- #3536 docs: Workflow of workflows pattern
- #3537 docs: Synchronization documentation
- #3539 fix: Fix links in fields doc
- #3547 docs: Correct type Fixes #3546
- #3552 fix: Fix flakey TestRetryOmitted
- #3553 docs: Change formatting to put content into code block
- #3554 feat(cli): Support deleting resubmitted workflows
- #3555 fix(ui): cannot read property 'push' of undefined when filtering by label. Fixes #3550
- #3560 feat(ui): Change default language for Resource Editor to YAML and store preference in localStorage. Fixes #3543
- #3566 fix: Skip TestStorageQuotaLimit
- #3568 docs: Migrate to homebrew-core (#3567)
- #3573 fix(ui): Fix multiple UI issues
- #3579 fix(server): Ignore not-JWT server tokens. Fixes #3562
- #3580 feat(ui): Enhanced workflow submission. Closes #3498
- #3581 fix: Argo Workflows does not honour global timeout if step/pod is not able to schedule
- #3592 docs: Document ingress set-up. Closes #3080
- #3596 fix(controller): Fix bug in util/RecoverWorkflowNameFromSelectorString. Add error handling
- #3598 docs: Memoization Documentation
- #3602 build: Initialize npm before installing swagger-markdown
- #3605 fix: Fix panic and provide better error message on watch endpoint
- #3607 fix(controller): Treat TooManyError same as Forbidden (i.e. try again). Fixes #3606
- #3609 fix(server): Re-establish watch on v1.Status errors. Fixes #3608
- #3610 feat: Allow parametrizable int fields
- #3612 docs: fix typo - replace "workfow" with "workflow"
- #3613 fix: Enforce metric Help must be the same for each metric Name
- #3614 build(cli)!: Zip binaries binaries. Closes #3576
- #3615 fix(controller): Panic when outputs in a cache entry are nil
- #3616 build: Increase timeout
- #3618 build: Disable TLS for dev mode. Fixes #3617
- #3623 docs: Update link to examples so works in raw github.com view
- #3624 fix: DAG level Output Artifacts on K8S and Kubelet executor
- #3627 docs: Correct indentation for codeblocks within bullet-points for "workflow-templates"
- #3631 feat(controller): Mutexes. Closes #2677
- #3632 fix: Simplify the WorkflowTemplateRef field validation to support all fields in WorkflowSpec except
Templates
- #3634 docs: Add comment to config map about SSO auth-mode
- #3636 fix: Fix 'malformed request: field selector' error
- #3638 fix(controller): Carry-over labels for re-submitted workflows. Fixes #3622
- #3639 docs: Add documentation for configuring OSS artifact storage
- #3640 fix: Fixed flaky unit test TestFailSuspendedAndPendingNodesAfterDeadline
- #3643 fix: Don't panic on invalid template creation
- #3651 fix: Avoid overriding the Workflow parameter when it is merging with WorkflowTemplate parameter
- #3652 fix(server): Report v1.Status errors. Fixes #3608
- #3654 docs: Fix type in default-workflow-specs.md
- #3659 fix: interface{} values should be expanded with '%v'
- #3660 feat: Add submit options to 'argo cron create'
- #3661 fix(controller): Fix nested maps. Fixes #3653
- #3662 feat(ui): Add links to wft, cwf, or cwft to workflow list and details. Closes #3621
- #3669 fix: Fix collapsible nodes rendering
- #3670 build: Disable TLS in dev server
- #3671 fix: Argo linting does not respect namespace of declared resource
- #3674 feat(ui): Make UI errors recoverable. Fixes #3666
- #3675 fix(executor): Add retry on pods watch to handle timeout.
- #3679 fix: Couldn't Terminate/Stop the ResourceTemplate Workflow
- #3680 fix(controller): Tolerate malformed resources. Fixes #3677
- #3681 chore: Update issue templates
- #3684 fix: Re-introduce 1 second sleep to reconcile informer
- #3685 chore(ui): Add label to 'from' section in Workflow Drawer
- #3689 fix(controller): Adds ALL_POD_CHANGES_SIGNIFICANT
- #3691 fix: Fixed workflow queue duration if PVC creation is forbidden
- #3699 fix: Fix bug with 'argo delete --older'
- #3700 feat: Upgrade Minio v7 with support IRSA
- #3701 docs: Correct version. Fixes #3697
- #3702 chore: Introduce convenience methods for intstr.
- #3704 feat(server): Emit audit events for workflow event binding errors
- #3713 fix: Ingress docs
- #3714 docs(windows): add note about artifacts on windows
- #3716 fix: Ensure target task's onExit handlers are run
- #3717 fix(controller): Tolerate PDB delete race. Fixes #3706
- #3723 feat(ui): Sign-post IDE set-up. Closes #3720
- #3724 feat(operator): Add scope params for step startedAt and finishedAt #3708
- #3726 feat(server): Display events involved in the workflow. Closes #3673
- #3727 feat(controller): controller logs to be structured #2308
- #3736 docs: Remove misleading argument in workflow template dag examples. (…
- #3740 fix: Consider all children of TaskGroups in DAGs
- #3741 feat(ui): add node memoization information to node summary view
- #3744 feat: Github Workflow multi arch. Fixes #2080
- #3749 test: Simplify E2E test tear-down
- #3752 build: Lint files tagged with
e2e
. Closes #3750 - #3758 fix(server): Truncate creator label at 63 chars. Fixes #3756
- #3764 fix: TestWorkflowLevelSemaphore flakiness
- #3765 fix: Fix workflow onExit nodes not being displayed in UI
- #3772 docs: Remove confusing namespace
- #3777 chore: Format test code
- #3778 fix(ui): Correctly load and store namespace. Fixes #3773 and #3775
- #3782 fix(controller): Support exit handler on workflow templates. Fixes #3737
- #3783 fix(ui): Remove outdated download links. Fixes #3762
- #3785 feat(executor): Add SYS_CHROOT to ease the setup of non-root deployments with PNS. Closes #3767
- #3787 fix(controller): Failure tolerant workflow archiving and offloading. Fixes #3786 and #3837
- #3792 build: Retry downloading Kustomize
- #3794 fix: Increase the requeue duration on checkForbiddenErrorAndResubmitAllowed
- #3795 fix: workflow template ref does not work in other namespace
- #3799 test: Increase cron test timeout to 7m
- #3801 ci: static files not being built with Homebrew and dirty binary. Fixes #3769
- #3804 docs: Add section on CronWorkflow crash recovery
- #3808 fix: Treat collapsed nodes as their siblings
- #3809 fix: Corrects CRD and Swagger types. Fixes #3578
- #3810 chore: add New Relic to USERS.md
- #3814 fix(docs): Add Entrypoint Cron Backfill example Fixes #3807
- #3820 fix: Carry over ownerReferences from resubmitted workflow. Fixes #3818
- #3822 test: Skip TestStopBehavior and TestRetryOmit
- #3828 docs: Amend link to the Workflow CRD. Fixes #3827
- #3831 ci: Remove external build dependency
- #3839 fix(ui): crash when workflow node has no memoization info. Fixes #3838
- #3844 docs: Update example README for duration
- #3846 chore: Reduce the 2x workflow save on Semaphore scenario
- #3847 feat: Show next scheduled cron run in UI/CLI
- #3848 ci: Fix build by providing clean repo inside Docker
- #3849 test: E2E test refactoring
- #3851 feat(controller): Do not try to create pods we know exists to prevent
exceeded quota
errors. Fixes #3791 - #3853 feat(controller): Always retry when
IsTransientErr
to tolerate transient errors. Fixes #3217 - #3854 ci: Changed tagging and amend multi-arch manifest
- #3860 chore: Added unittest for PVC exceed quota Closes #3561
- #3869 fix(ui): Improve error recovery. Fixes #3867
- #3871 ci: Create manifest from images again
- #3876 chore(ui): correct a typo
- #3883 fix(controller): Cron re-apply update
- #3889 feat(controller): Emit events for malformed cron workflows. See #3881
- #3890 fix: Workflow should fail on Pod failure before container starts Fixes #3879
- #3891 fix(executor): Replace default retry in executor with an increased value retryer
- #3892 chore: Remove unused imports
- #3900 chore(users): Add Fynd Trak to the list of Users
- #3901 Update workflow-controller-configmap.yaml
- #3906 fix(ui): use absolute URL to redirect from autocomplete list. Closes #3903
- #3908 ci: Fix broken Multiplatform builds
- #3909 test: Fix flaky e2e tests
- #3910 test: Fix TestRetryOmit and TestStopBehavior
- #3919 feat(controller): Set default retry factor to 2. Closes #3911
Contributors
- Alex Collins
- Alexander Zigelski
- Ang Gao
- Antoine Dao
- Carlos Montemuino
- Chris Hepner
- Greg Roodt
- Guillaume Hormiere
- Jared Welch
- Jie Zhang
- Jonny
- Kaushik B
- Lucas Theisen
- Michael Weibel
- Nirav Patel
- Noorain Panjwani
- Remington Breeze
- Saravanan Balasubramanian
- Sebastian Ortan
- Shannon
- Simon Behar
- Simon Frey
- Weston Platter
- Yuan Tang
- Zadjad Rezai
- dgiebert
- dherman
- haibingzhao
- joe
- juliusvonkohout
- sh-tatsuno
- yonirab