Quick Start
Argo CLI
Mac
Available via brew
brew install argoproj/tap/argo
And via curl
# Download the binary
curl -sLO https://github.com/argoproj/argo/releases/download/v2.9.0/argo-darwin-amd64
# 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.9.0/argo-linux-amd64
# 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.9.0/manifests/install.yaml
Changes
Enhancements
- #1507 Argoexec for windows containers
- #2760 Implement Content Security Policy
- #2761 Add XSS protection to API
- #2782 Workflow Labels - Annotations on Rows
- #2820 Augment
argo list --chunk-size
with--continue
and--limit
- #2908 Do not sleep for 1s each time we reconcile
- #3034 Metrics should display controller error counts by type
- #3098 Inputs and outputs should be labelled in UI
- #3110 Add a way to expose Reource Duration (Memory/CPU) of Workflows in Metrics
- #3112 Cron Workflow Run Now
- #3128 Convenience flag in CLI for latest workflow
- #3225 fix(cli): argo --help does not display @latest alias introduced in #3179
Bug Fixes
- #1472 Script results aren't saved if artifacts aren't found
- #2140 Concaternated 20GB GZIP Input Archives Cause Stalling
- #2638 Workflow controller restarts with 'fatal error: concurrent map read and map write'
- #2660 Issue passing List of Objects from script
- #2780 argo list does not show workflows from all instances or accept --instanceid
- #2821 Argo delete all/completed should not abort on missing Workflow
- #2835 UserContainer swagger definition not matching command line client
- #2856 Persistence race condition with merging offloaded nodes
- #2888 Swagger giving wrong Kubernetes definitions.
- #2891 Workflow Template UI - "Empty" workflow template causes error when rendering
- #2934 Enhanced resource duration
- #2955 "Re-establishing workflow watch" should be debug-level
- #2961 Duplicated events for Workflow Node Event
- #2974 Workflow parameter
creationTimestamp
is not RFC3339 compliant - #2983
latest
images not built for 20 days - #2990 Cannot use
optional
with input artifacts/S3 - #2994 apiVersion field in Workflow Event violates API conventions
- #3004 not found latest release version docker image in docker hub
- #3091 In the UI, if the workflow could not start, we should show why - not sit there loading the DAG
- #3118 Fix panics
- #3121
deletePDBResource
panics ifworkflowRef not found
- #3145 argo get/watch should list parallel entries in order, not alphabetize
- #3163 bug(ui): Workflow List component receiving too much information from server
- #3226 bug(ui): Clicking a label in workflow drawer does not filter workflows by that label
- #3260 Do not log users errors at error level
- #3342 workflow controller is unable to write events in other namespaces for versions >= v2.9-rc1
Other
- #1080 argo-ui workflow list api need support pagination
- #1139 Memory Configurations for Argo Operator
- #1376 [argo-ui] css loads Heebo font from the internet
- #1383 Running Argo on hybrid Kubernetes cluster
- #1813 Argo Workflow UI - Authentication and Authorization Feature
- #2860 Need documentation on "nodeFieldSelector"
- #976 [UI] list view performance improvements
Pull Requests
- #2450 feat: Enhanced filters for argo {watch,get,submit}
- #2543 test: Increase timeout for flaky test
- #2548 fix(controller): Workflow stop and resume by node didn't properly support offloaded nodes. Fixes #2543
- #2673 feat: Enhanced depends logic
- #2745 feat(argo-server): Add support for SSO. See #1813
- #2747 feat: Windows Container Support. Fixes #1507 and #1383
- #2781 docs(users): Adding Habx to the users list
- #2786 fix(argo-server)!: Implement missing instanceID code. Fixes #2780
- #2807 docs: Update README with new features
- #2816 chore: Upgraded to Node 14.0.0
- #2825 fix(ui): Use LogsViewer for container logs
- #2836 feat: Add metric retention policy
- #2837 fix(swagger): Generate correct Swagger for inline objects. Fixes #2835
- #2839 ci: Build less and therefore faster
- #2851 fix(controller): Add mutex to nameEntryIDMap in cron controller. Fix #2638
- #2854 feat(cli): Refactor
argo list --chunk-size
and addargo archive list --chunk-size
. Fixes #2820 - #2855 fix: Nodes with pods deleted out-of-band should be Errored, not Failed
- #2863 feat(ui): Add pagination to workflow list. Fixes #1080 and #976
- #2869 fix: Cannot create WorkflowTemplate with un-supplied inputs
- #2872 docs: Update getting-started.md
- #2874 test: Fixes various tests
- #2877 feat(cli): Tolerate deleted workflow when running
argo delete
. Fixes #2821 - #2882 docs: Document node field selector. Closes #2860
- #2889 fix: ConfigMap syntax
- #2896 fix: Display Workflow finish time in UI
- #2904 fix: remove doubled secret entry in server cluster role deployment
- #2907 fix(swagger)!: Fixes invalid K8S definitions in
swagger.json
. Fixes #2888 - #2910 ci: Remove context to stop unauthorized errors on test jobs
- #2911 feat: add local variable pod.retryAttempt (see #2808, #2898)
- #2912 feat: Support Top level workflow template reference
- #2917 test: Use argoproj/argosay:v1
- #2918 docs: Add docs/scaling.md
- #2920 build: Fix Darwin build
- #2921 feat(controller): Improve throughput of many workflows. Fixes #2908
- #2925 feat(controller): Remove the excessive logging of node data
- #2933 fix: Fixes MySQL 5.7 issue - default null value for timestamp column - Fixes #2932
- #2935 feat(ui): Allow opening workflow logs in a new tab; Closes #2887
- #2937 feat(controller)!: Updates the resource duration calculation. Fixes #2934
- #2939 fix: typo in port-forward.sh
- #2941 fix(controller): Implement offloading for workflow updates that are re-applied. Fixes #2856
- #2943 fix(ui): Change default pagination to all and sort workflows
- #2944 fix(cli): Re-establish watch on EOF
- #2950 feat: adds millisecond-level timestamps to argoexec, implements #2795
- #2951 fix: Don't update backoff message to save operations
- #2958 fix(cli): Remove info logging from watches. Fixes #2955
- #2959 feat(ui): Render 2000+ nodes DAG acceptably.
- #2960 fix(examples): Error with unknown flag: --show-all
- #2964 fix: Remove duplicate node event. Fixes #2961
- #2966 fix: Consider Shutdown when assesing DAG Phase for incomplete Retry node
- #2968 build: Build dev images from cache
- #2971 feat(ui): Enable CSP, HSTS, X-Frame-Options. Fixes #2760, #1376, #2761
- #2972 docs: Document cost optimizations. Fixes #1139
- #2976 fix: Begin counting maxDuration from first child start
- #2977 fix(docs): Typo with link reference
- #2979 refactor(metrics)!: Refactor Metric interface
- #2982 feat(ui): Add Suspend and Resume for Cronworkflow in UI. Closes #1975
- #2984 build: Fix Docker build. Fixes #2983
- #2995 fix(executor/pns): remove sleep before sigkill
- #2997 docs: Use keyFormat instead of keyPrefix in docs
- #2999 fix(events): Correct event API Version. Fixes #2994
- #3000 chore: Update Mockery
- #3001 test: Upgrade to argosay:v2
- #3008 docs: Add StatefulSet and Service doc
- #3009 fix: Improve robustness of releases. Fixes #3004
- #3010 docs: Fix Deprecated formatting
- #3011 fix: Linters should error if nothing was validated
- #3014 fix(executor): Small gzipped files shouldn't be recognized as tarballs. Fixes #3012
- #3015 build: Mockery v1.1.1
- #3018 fix(ui): Displays command args correctly pre-formatted.
- #3019 fix(executor): Optional input artifacts. Fixes #2990
- #3020 docs: Add Ravelin as a user of Argo
- #3023 fix(controller)!: Correctly format workflow.creationTimestamp as RFC3339. Fixes #2974
- #3024 fix(artifacts): Allow tar check to be ignored. Fixes #2140
- #3025 fix(executor): Save script results before artifacts in case of error. Fixes #1472
- #3029 fix: Consider missing optional input/output artifacts with same name
- #3032 chore: Add ability to configure maximum DB connection lifetime
- #3033 fix: Consider metrics that were created and completed in the same operation
- #3035 refactor: Refactor assesDAGPhase logic
- #3037 fix(executor): Properly handle empty resource results, like for a missing get. Fixes #1823
- #3047 fix(artifacts): Revert allow tar check to be ignored. Reverts #3024
- #3052 fix(artifacts): Explicit archive strategy. Fixes #2140
- #3055 feat: Add CronWorkflowConditions to report errors
- #3060 feat(controller): Add default name for artifact repository ref.
- #3064 fix: Update container delete grace period to match Kubernetes default
- #3066 docs: Document work avoidance.
- #3068 docs(users): Add Isbank to users.md
- #3071 fix: Graceful error handling of malformatted log lines in watch
- #3074 build: Use goreman for starting locally.
- #3076 chore: Rename files that include 'top-level' terminology
- #3079 fix(OSS): Fix bug in OSS artifacts
- #3083 fix: Differentiate between Fulfilled and Completed
- #3084 build(swagger): Fix Swagger build problems
- #3086 docs: Add link to USERS.md in PR template
- #3088 feat: Added Label selector and Field selector in Argo list
- #3089 feat(ui): Add cost optimisation nudges.
- #3094 docs: Document how to backfill a cron workflow
- #3099 docs: Update Getting Started
- #3101 test: fix TestContinueOnFailDag. Closes #2624
- #3107 chore: goimports
- #3108 docs: Add Alibaba Cloud OSS to the list of supported artifacts
- #3116 feat: Add 'submit --from' to CronWorkflow and WorkflowTemplate in UI. Closes #3112
- #3117 feat(cli): More
argo list
andargo delete
options - #3119 fix(controller): Do not panic if
woc.orig
in not hydrated. Fixes #3118 - #3123 fix: Remove unnecessary panic
- #3124 docs: add AppDirect to the list of users
- #3125 fix(ui): Display error message instead of DAG when DAG cannot be rendered. Fixes #3091
- #3126 feat(ui): Persist DAG rendering options in local storage. Fixes #3120
- #3127 fix: Panic on invalid WorkflowTemplateRef
- #3129 fix(item): Support ItemValue.Type == List. Fixes #2660
- #3130 fix(ui): Fix label error
- #3131 fix(ui): Input artifacts labelled in UI. Fixes #3098
- #3135 chore: Move default metrics server port/path to consts
- #3137 docs: Updated WorkflowTemplateRef on WFT and CWFT
- #3140 feat(ui): Add Alibaba Cloud OSS related models in UI
- #3143 enhancement(ui): Add workflow labels column to workflow list. Fixes #2782
- #3144 feat(metrics): Report controller error counters via metrics. Closes #3034
- #3146 fix(cli): Sort expanded nodes by index. Closes #3145
- #3149 feat: Add mode to require Workflows to use workflowTemplateRef
- #3151 feat(ui): Add drawer with more details for each workflow in Workflow List
- #3152 chore: Master needs lint
- #3153 chore: Remove unused nodeType in initializeNodeOrMarkError()
- #3159 build: Fix path to staticfiles and goreman binaries
- #3160 fix(controller): Maybe bug with nil woc.wfSpec. Fixes #3121
- #3161 feat(metrics): Add node-level resources duration as Argo variable for metrics. Closes #3110
- #3162 docs: Add instructions on using Minikube as an alternative to K3D
- #3165 fix(server): Allow field selection for workflow-event endpoint (fixes #3163)
- #3167 docs: fix api swagger file path in docs
- #3174 fix: Do not use alphabetical order if index exists
- #3177 build: Only check Dex in hosts file when SSO is enabled
- #3178 chore: Update Community Meeting link and specify Go@v1.13
- #3179 feat(cli): Add --latest flag for argo get command as per #3128
- #3180 feat(controller): Add
--qps
and--burst
flags to controller - #3181 feat(controller): Only process significant pod changes
- #3187 docs: Add Graviti as official Argo user
- #3196 fix(metrics): Ensure stable desc/hash for metrics. Fixes #3193
- #3199 feat: Add '--schedule' flag to 'argo cron create'
- #3200 chore: Remove unused pod in addArchiveLocation()
- #3205 fix(events): Adds config flag. Reduce number of dupe events emitted.
- #3207 feat(sso): Allow reading SSO clientID from a secret.
- #3215 fix(controller): Ensure image name is present in containers. Fixes #3213
- #3216 build: Change "DB=..." to "PROFILE=..."
- #3219 feat: Tick CLI Workflow watch even if there are no new events
- #3220 fix(ui): Correctly update workflow list when workflow are modified/deleted
- #3223 feat: Validate CronWorkflows before execution
- #3228 fix(ui/server): Fix broken label filter functionality on UI due to bug on server. Fix #3226
- #3230 fix(controller): set pod finish timestamp when it is deleted
- #3233 build: Migrate to Github Actions
- #3238 docs: Correct available fields in {{workflow.failures}}
- #3239 fix: Support the TTLStrategy for WorkflowTemplateRef
- #3240 feat(logging): Made more controller err/warn logging structured
- #3242 chore(cli): Add examples of @latest alias for relevant commands. Fixes #3225
- #3245 chore: Covered steps..outputs.parameters in variables document
- #3247 fix: Ensure subscription is closed in log viewer
- #3249 feat: Configure ArchiveLabelSelector for Workflow Archive
- #3251 fix(jqFilter)!: remove extra quotes around output parameter value
- #3253 build: Disable Circle CI and Sonar
- #3256 fix(ui): Update workflow drawer with new duration format
- #3258 chore: update mysql yaml port
- #3261 feat: Append previous workflow name as label to resubmitted workflow
- #3262 fix(controller): More structured logging. Fixes #3260
- #3263 fix: ExitHandler support on workflowtempalteRef
- #3268 fix: Avoid unnecessary nil check for annotations of resubmitted workflow
- #3270 fix: Fixed panic on archiveLabelSelector nil
- #3271 fix: Add {{workflow.status}} to workflow-metrics
- #3272 fix: Reapply Update if CronWorkflow resource changed
- #3273 build: Add warning to ensure 'v' is present on release versions
- #3274 fix(ui): Allow render of templates without entrypoint. Fixes #2891
- #3276 docs: Add example for handling large output resutls
- #3278 fix: Fix delete --complete
- #3280 fix: Ensure child pods respect maxDuration
- #3281 build: Allow to change k8s namespace for installation
- #3282 docs: Update CI Badges
- #3283 docs: Update releasing.md
- #3284 docs: ArchiveLabelSelector document
- #3286 fix(server): Fix validation of overridden ref template parameters.
- #3294 build: Upload E2E diagnostics after failure
- #3297 build: Remove generated Swagger files.
- #3298 chore: Clean up unused constants
- #3302 ci: Remove CircleCI
- #3304 docs: Rename Ant Financial to Ant Group
- #3311 build: Pin
goimports
to working version - #3315 fix(controller): Fix panic logging.
- #3316 docs: Document access token creation and usage
- #3327 fix: Remove broken SSO from quick-starts
- #3345 fix(controller): Allow events to be sent to non-argo namespace. Fixes #3342
- #3350 fix: Don't double-count metric events
- #3368 fix: Fix UI bug in DAGs
Contributors
- Adam Gilat
- Alex Collins
- Alex Stein
- Ben Ye
- Caden
- Caglar Gulseni
- Daisuke Taniwaki
- Daniel Sutton
- Florent Clairambault
- Grant Stephens
- Huan-Cheng Chang
- Jie Zhang
- Kannappan Sirchabesan
- Leonardo Luz
- Markus Lippert
- Matt Brant
- Michael Crenshaw
- Mike Seddon
- Pierre Houssin
- Pradip Caulagi
- Remington Breeze
- Romain GUICHARD
- Saravanan Balasubramanian
- Sascha Grunert
- Simon Behar
- Stephen Steiner
- Tomas Valasek
- Vardan Manucharyan
- Vlad Losev
- William
- Youngjoon Lee
- Yuan Tang
- Yunhai Luo
- dmayle
- maguowei
- mark9white
- shibataka000