Quick Start
Argo CLI
Mac
Available via curl
# Download the binary
curl -sLO https://github.com/argoproj/argo/releases/download/v2.10.1/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.10.1/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.10.1/manifests/install.yaml
⚠️ Potentially Breaking Changes
You may be affected if:
- If you are using the Golang client.
- If you have substantially invalid workflow YAML. Mitigation: read this document.
- Binaries are now gzipped when uploaded to Github releases.
More information:
- #3075 feat(crds)!: Adds CRD generation and enhanced UI resource editor. Closes #859
- #3290 fix(controller)!: Support nested items. Fixes #3288
- #3385 fix(cli)!: Enable CLI to work without kube config. Closes #3383, #2793
Changes
The big enhancements are:
- #3075 feat(crds)!: Adds CRD generation and enhanced UI resource editor. Closes #859
- #3141 feat: Workflow Semaphore Support
- #3234 feat(ui): Add ability to select multiple workflows from list and perform actions on them. Fixes #3185
- #3322 feat: Save pagination limit and selected phases/labels to local storage
- #3358 feat(ui): Add Swagger UI
- #3364 feat: Support WorkflowMetadata in WorkflowTemplate and ClusterWorkflowTemplate
- #3440 feat(server): Label workflows with creator. Closes #2437
v2.10.1
Enhancements
Bug Fixes
- #3737
argo submit
from a WorkflowTemplate with default exit handler produces "invalid field in spec" error - #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
- Update manifests to v2.10.1
- build: Copy Dockerfile lines from master
- chore: Merge .gitignore from master to prevent dirty
Pull Requests
- #3740 fix: Consider all children of TaskGroups in DAGs
- #3782 fix(controller): Support exit handler on workflow templates. Fixes #3737
- #3787 fix(controller): Failure tolerant workflow archiving and offloading. Fixes #3786 and #3837
- #3860 chore: Added unittest for PVC exceed quota Closes #3561
- #3883 fix(controller): Cron re-apply update
- #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
- #3906 fix(ui): use absolute URL to redirect from autocomplete list. Closes #3903
Contributors
- Alex Collins
- Ang Gao
- Nirav Patel
- Saravanan Balasubramanian
- Simon Behar
v2.10.0
Enhancements
- #1117 the difference between error and failed status?
- #2343 git artifact fetch of reference fails due to missing credentials
- #2437 Search for workflows by creator
- #3183 Log during wk submit
- #3185 [UI] Perform batch action on workflows
- #3491 support optional Input artifacts when artifacts not exist
- #3576 Reduce CLI binary size
- #859 Workflow Open API validation
Bug Fixes
- #2793 argo lint fails with "invalid configuration: no configuration has been provided"
- #3073 msg="finished streaming call with code Unknown" error="context canceled
- #3097 Inconsistent behavior on deleting a running pod in DAG
- #3214 Pod not found when resubmit --memoized
- #3288 withParam value could not be parsed as a JSON list with nested list parameters
- #3342 workflow controller is unable to write events in other namespaces for versions >= v2.9-rc1
- #3383 CLI unusable without KUBECONFIG
- #3411 curl log REST endpoint causing memory error
- #3420 Sequence.start/end/count should be
IntOrString
- #3436 Panic when volumeMount does not exist
- #3505 Panic on addOutputsToLocalScope
- #3513 Backoff exponent is off by one
- #3515 v2.9.3 Docker images report they are v2.10.0-rc1
- #3562 Bearer token error argo + microk8s
- #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[]
- #3706 Fix
Unable to delete PDB resource for workflow
error - #3756 Creator label too long.
Other
- fix: Running pods are garaged in PodGC onSuccess
Pull Requests
- #3075 feat(crds)!: Adds CRD generation and enhanced UI resource editor. Closes #859
- #3137 docs: Updated WorkflowTemplateRef on WFT and CWFT
- #3141 feat: Workflow Semaphore Support
- #3234 feat(ui): Add ability to select multiple workflows from list and perform actions on them. Fixes #3185
- #3248 fix(git): Fixes Git when using auth or fetch. Fixes #2343
- #3272 fix: Reapply Update if CronWorkflow resource changed
- #3276 docs: Add example for handling large output resutls
- #3278 fix: Fix delete --complete
- #3279 feat(cli): Add --logs to `argo [submit|resubmit|retry]. Closes #3183
- #3280 fix: Ensure child pods respect maxDuration
- #3283 docs: Update releasing.md
- #3284 docs: ArchiveLabelSelector document
- #3286 fix(server): Fix validation of overridden ref template parameters.
- #3290 fix(controller)!: Support nested items. Fixes #3288
- #3291 chore: Use GitHub Actions to build Docker Images to allow publishing Windows Images
- #3293 feat: Allow to change priority when resubmitting workflows
- #3294 build: Upload E2E diagnostics after failure
- #3297 build: Remove generated Swagger files.
- #3298 chore: Clean up unused constants
- #3301 feat(controller): Add support for Docker workflow executor for Windows nodes
- #3302 ci: Remove CircleCI
- #3304 docs: Rename Ant Financial to Ant Group
- #3308 build: Fix path to go-to-protobuf binary
- #3311 build: Pin
goimports
to working version - #3315 fix(controller): Fix panic logging.
- #3316 docs: Document access token creation and usage
- #3317 fix(ui): Compiler error from workflows toolbar
- #3322 feat: Save pagination limit and selected phases/labels to local storage
- #3327 fix: Remove broken SSO from quick-starts
- #3328 feat(controller): Label workflows with their source workflow template. Fixes #3326
- #3330 fix(ui): runtime error from null savedOptions props
- #3335 chore: Avoid variable name collision with imported package name
- #3338 docs: Field fix (ParallelSteps -> WorkflowStep)
- #3339 feat: Attempt to resolve nested tags
- #3340 perf: Optimize time-based filtering on large number of workflows
- #3345 fix(controller): Allow events to be sent to non-argo namespace. Fixes #3342
- #3350 fix: Don't double-count metric events
- #3352 docs: Adding InVision to Users
- #3353 chore: Simplify deps by removing YAML
- #3354 test: Add e2e tags
- #3357 feat(cli): List only resubmitted workflows option
- #3358 feat(ui): Add Swagger UI
- #3359 fix(server): Fix
context cancelled
red herring error. Fixes #3073 - #3362 feat(controller): Add log message count as metrics.
- #3363 build: Enable Stale Bot
- #3364 feat: Support WorkflowMetadata in WorkflowTemplate and ClusterWorkflowTemplate
- #3365 docs: Wellcome is using Argo in our Data Labs division
- #3367 chore: Remove unused code
- #3368 fix: Fix UI bug in DAGs
- #3369 docs: Make https://argoproj.github.io/argo/
- #3370 fix(ui): Confirmation of workflow actions
- #3371 feat: Expose certain queue metrics
- #3372 fix: Fix bug parsing parmeters
- #3375 fix(docs): Fix incorrect example of global parameter usage
- #3376 chore: update aws-sdk-go version
- #3377 chore(ui): Remove unused interfaces for artifacts
- #3385 fix(cli)!: Enable CLI to work without kube config. Closes #3383, #2793
- #3386 chore: Added CWFT WorkflowTemplateRef example
- #3392 chore: maybe -> may be
- #3398 docs: Update config example to include useSDKCreds
- #3401 fix: Fix concurrency issues with metrics
- #3403 fix: Ensure non-leaf DAG tasks have their onExit handler's run
- #3407 fix: Script steps fail with exceededQuota
- #3408 fix(ui): Render DAG with exit node
- #3414 docs: Include timezone name reference
- #3418 fix: Use a unique queue to visit nodes
- #3421 fix: Add struct-wide RWMutex to metrics
- #3423 feat(cli): Allow to view previously terminated container logs
- #3424 fix(cli): panic on wait command if event is null
- #3425 fix: Allow ints for sequence start/end/count. Fixes #3420
- #3426 fix: No panic on watch. Fixes #3411
- #3427 fix(sso): Remove unused
groups
claim. Fixes #3411 - #3430 docs: Add Sohu as official Argo user
- #3433 fix(docs): Update kubectl proxy URL
- #3435 fix: Ensure task dependencies run after onExit handler is fulfilled
- #3437 fix(controller): Prevent panic on nil node. Fixes #3436
- #3439 docs: typo in argo stop --help
- #3440 feat(server): Label workflows with creator. Closes #2437
- #3442 chore: Fix GitHub Actions Docker Image build
- #3450 chore: Upgrade node-sass
- #3451 fix(controller): Respect the volumes of a workflowTemplateRef. Fixes …
- #3455 test(controller): Add memoization tests. See #3214
- #3456 docs: Fixed some typos
- #3464 docs: Add controller-level metrics
- #3465 docs: Fix CLI docs
- #3466 test(controller): Add memoization tests. See #3214 (#3455)
- #3467 docs: Add comments to NodePhase definition. Closes #1117.
- #3469 fix(controller): Fail workflow when pod is deleted with --force. Fixes #3097
- #3470 fix: Metric emission with retryStrategy
- #3473 test(controller): Ensure resubmitted workflows have correct labels
- #3476 docs: In quick-start. Use http, not https for link
- #3477 fix: Pass resolved arguments to onExit handler
- #3478 build: Simplify builds
- #3480 fix: Merge WorkflowTemplateRef with defaults workflow spec
- #3486 fix: link to server auth mode docs, adds Tulip as official user
- #3490 fix: Exceeding quota with volumeClaimTemplates
- #3492 docs: Add link to GitHub Actions in the badge
- #3493 fix(cli): Check mutual exclusivity for argo CLI flags
- #3494 feat: Support Bash Completions for More Resources
- #3495 chore: Added examples for exit handler for step and dag level
- #3497 build: Use
git rev-parse
to accomodate older gits - #3499 build: Clear cmd docs before generating them
- #3501 [Snyk] Security upgrade swagger-ui-react from 3.28.0 to 3.29.0
- #3504 fix: Panic on releaseAllWorkflowLocks if Object is not Unstructured type
- #3509 fix(controller): Do not panic on nil output value. Fixes #3505
- #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
- #3528 fix: Fix when retrying Workflows with Omitted nodes
- #3532 fix: Panic on CLI Watch command
- #3539 fix: Fix links in fields doc
- #3552 fix: Fix flakey TestRetryOmitted
- #3555 fix(ui): cannot read property 'push' of undefined when filtering by label. Fixes #3550
- #3566 fix: Skip TestStorageQuotaLimit
- #3573 fix(ui): Fix multiple UI issues
- #3579 fix(server): Ignore not-JWT server tokens. Fixes #3562
- #3581 fix: Argo Workflows does not honour global timeout if step/pod is not able to schedule
- #3596 fix(controller): Fix bug in util/RecoverWorkflowNameFromSelectorString. Add error handling
- #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
- #3613 fix: Enforce metric Help must be the same for each metric Name
- #3614 build(cli)!: Zip binaries binaries. Closes #3576
- #3624 fix: DAG level Output Artifacts on K8S and Kubelet executor
- #3632 fix: Simplify the WorkflowTemplateRef field validation to support all fields in WorkflowSpec except
Templates
- #3636 fix: Fix 'malformed request: field selector' error
- #3638 fix(controller): Carry-over labels for re-submitted workflows. Fixes #3622
- #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
- #3659 fix: interface{} values should be expanded with '%v'
- #3661 fix(controller): Fix nested maps. Fixes #3653
- #3675 fix(executor): Add retry on pods watch to handle timeout.
- #3679 fix: Couldn't Terminate/Stop the ResourceTemplate Workflow
- #3684 fix: Re-introduce 1 second sleep to reconcile informer
- #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'
- #3716 fix: Ensure target task's onExit handlers are run
- #3717 fix(controller): Tolerate PDB delete race. Fixes #3706
- #3758 fix(server): Truncate creator label at 63 chars. Fixes #3756
- #3794 fix: Increase the requeue duration on checkForbiddenErrorAndResubmitAllowed
Contributors
- 0x1D-1983
- Alex Collins
- Daisuke Taniwaki
- Galen Han
- Guillaume Hormiere
- Jeff Uren
- Jie Zhang
- Jonny
- Markus Lippert
- Michael Crenshaw
- Niklas Vest
- Remington Breeze
- Saravanan Balasubramanian
- Simon Behar
- Snyk bot
- Trevor Foster
- Vlad Losev
- Weston Platter
- Yuan Tang
- Zach Aller
- Zach Himsel
- candonov
- haibingzhao
- maguowei