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.12.0/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.12.0/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.12.0/manifests/install.yaml
Changes
v2.12.0
Pull Requests
- Update manifests to v2.12.0
- fix(controller): Fixes resource version misuse. Fixes #4714 (#4741)
- fix(executor): Copy main/executor container resources from controller by value instead of reference (#4737)
- fix(controller): Fix incorrect main container customization precedence and isResourcesSpecified check (#4681)
- feat(controller): Allow to configure main container resources (#4656)
- Update manifests to v2.12.0-rc6
- fix(controller): Fixed workflow stuck with mutex lock (#4744)
- fix(executor): Always check if resource has been deleted in checkResourceState() (#4738)
- fix(ui): Fix YAML for workflows with storedWorkflowTemplateSpec. Fixes #4691 (#4695)
- fix: Allow Bearer token in server mode (#4735)
- fix(executor): Deal with the pod watch API call timing out (#4734)
- ci: Pin kustomize version (#4704)
- fix(controller): Increate default EventSpamBurst in Eventrecorder (#4698)
- Update manifests to v2.12.0-rc5
- fix: Consider optional artifact arguments (#4672)
- feat(controller): Use deterministic name for cron workflow children (#4638)
- fix(controller): Only patch status.active in cron workflows when syncing (#4659)
- fix(ui): DataLoaderDropdown fix input type from promise to function that (#4655)
- fix: Count Workflows with no phase as Pending for metrics (#4628)
- fix(ui): Reference secrets in EnvVars. Fixes #3973 (#4419)
- fix: derive jsonschema and fix up issues, validate examples dir… (#4611)
- docs: Add JSON schema for IDE validation (#4581)
- fix(ui): Fixed reconnection hot-loop. Fixes #4580 (#4663)
- fix(controller): Cleanup the synchronize pending queue once Workflow deleted (#4664)
- fix(controller): Deal with hyphen in creator. Fixes #4058 (#4643)
- feat(controller): Make MAX_OPERATION_TIME configurable. Close #4239 (#4562)
- fix: Fix TestCleanFieldsExclude (#4625)
- Update manifests to v2.12.0-rc4
- feat(executor): More informative log when executors do not support output param from base image layer (#4620)
- fix(argo-server): fix global variable validation error with reversed dag.tasks (#4369)
- fix(server): Correct webhook event payload marshalling. Fixes #4572 (#4594)
- fix: Perform fields filtering server side (#4595)
- fix: Null check pagination variable (#4617)
- fix(executor): Fixed waitMainContainerStart returning prematurely. Closes #4599 (#4601)
- refactor: Use polling model for workflow phase metric (#4557)
- fix(executor): Handle sidecar killing in a process-namespace-shared pod (#4575)
- fix(server): serve artifacts directly from disk to support large artifacts (#4589)
- fix(server): use the correct name when downloading artifacts (#4579)
- feat(controller): Retry transient offload errors. Resolves #4464 (#4482)
- Update manifests to v2.12.0-rc3
- Merge branch 'master' into release-2.12
- chore: Updated stress test YAML (#4569)
- feat(ui): Add Template/Cron workflow filter to workflow page. Closes #4532 (#4543)
- docs: Clean-up examples. Fixes #4124 (#4128)
- chore: Remove unused image build and push hooks (#4539)
- fix: executor/pns containerid prefix fix (#4555)
- fix: Respect continueOn for leaf tasks (#4455)
- docs: Added CloudSeeds as one of the users for argo (#4553)
- docs: Update cost optimisation to include information about cleaning up workflows and archiving (#4549)
- fix(controller): Correct default port logic (#4547)
- fix: Validate metric key names (#4540)
- fix: Missing arg lines caused files not to copy into containers (#4542)
- fix(test): fix TestWFDefaultWithWFTAndWf flakiness (#4538)
- fix(ui): Do not auto-reload doc.location. Fixes #4530 (#4535)
- docs: Add "Argo Workflows in 5 min" link to README (#4533)
- Merge branch 'master' into release-2.12
- fix(controller): support float for param value (#4490)
- feat(controller): make sso timeout configurable via cm (#4494)
- fix(server): Add
list sa
andcreate secret
toargo-server
roles. Closes #4526 (#4514) - fix: link templates not replacing multiple templates with same name (#4516)
- feat: adds millisecond-level timestamps to argo and workflow-controller (#4518)
- add bonprix to argo users (#4520)
- build: Reuse IMAGE_OS instead of hard-coded linux (#4519)
- Update manifests to v2.12.0-rc2
- Merge branch 'master' into release-2.12
- fix(test): fix TestWFDefaultWithWFTAndWf flakiness (#4507)
- fix(controller): prepend script path to the script template args. Resolves #4481 (#4492)
- feat: Redirect to requested URL after SSO login (#4495)
- fix: Ensure ContainerStatus in PNS is terminated before continuing (#4469)
- fix(ui): Check node children before counting them. (#4498)
- fix: Ensure redirect to login when using empty auth token (#4496)
- feat(cli): add selector and field-selector option to terminate (#4448)
- fix(controller): Refactor the Merge Workflow, WorkflowTemplate and WorkflowDefaults (#4354)
- fix(ui): fix the
all
option in the workflow archive list (#4486) - Update manifests to v2.12.0-rc1
- refactor(server): Use patch instead of update to resume/suspend (#4468)
- fix(controller): When semaphore lock config gets updated, enqueue the waiting workflows (#4421)
- feat(cli): Support ARGO_HTTP1 for HTTP/1 CLI requests. Fixes #4394 (#4416)
- chore(docs): Fix docgen (#4459)
- feat: Add the --no-utf8 parameter to
argo get
command (#4449) - refactor: Simplify grpcutil.TranslateError (#4465)
- docs: Add DDEV to USERS.md (#4456)
- feat: Add resume/suspend endpoints for CronWorkflows (#4457)
- fix: localhost not being resolved. Resolves #4460, #3564 (#4461)
- fix(controller): Trigger no of workflows based on available lock (#4413)
- fix: Return copy of stored templates to ensure they are not modified (#4452)
- fix(controller): Fix throttler. Fixes #1554 and #4081 (#4132)
- chore(controller): Refactor and tidy up (#4453)
- fix(docs): timezone DST note on Cronworkflow (#4429)
- fix: Resolve inconsistent CronWorkflow persistence (#4440)
- chore: Update pull request template (#4437)
- feat(server): Add WorkflowLogs API. See #4394 (#4450)
- fix: Fix validation with Argo Variable in activeDeadlineSeconds (#4451)
- feat(ui): Visualisation of the suspended CronWorkflows in the list. Fixes #4264 (#4446)
- ci: Speed up e2e tests (#4436)
- fix(controller): Tolerate int64 parameters. Fixes #4359 (#4401)
- fix(server): Only try to use auth-mode if enabled. Fixes #4400 (#4412)
- fix: Assume controller is in UTC when calculating NextScheduledRuntime (#4417)
- fix(controller): Design-out event errors. Fixes #4364 (#4383)
- fix(docs): update link to container spec (#4424)
- fix: Add x-frame config option (#4420)
- docs: Add Acquia to USERS.md (#4415)
- fix: Ensure resourceDuration variables in metrics are always in seconds (#4411)
- fix(executor): artifact chmod should only if err != nil (#4409)
- fix: Use correct template when processing metrics (#4399)
- ci: Split e2e tests to make them faster (#4404)
- fix(validate): Local parameters should be validated locally. Fixes #4326 (#4358)
- fix(ui): Reconnect to DAG. Fixes #4301 (#4378)
- feat(ui): Sign-post examples and the catalog. Fixes #4360 (#4382)
- feat(server): Enable RBAC for SSO. Closes #3525 (#4198)
- fix(ui): correct log viewer only showing first log line (#4389)
- fix(ui): Ignore running workflows in report. Fixes #4387 (#4397)
- fix(controller): Fix estimation bug. Fixes #4386 (#4396)
- fix(ui): correct typing errors in workflow-drawer (#4373)
- docs: Update events.md (#4391)
- fix: Use DeletionHandlingMetaNamespaceKeyFunc in cron controller (#4379)
- fix(server): Download artifacts from UI. Fixes #4338 (#4350)
- fix(controller): Enqueue the front workflow if semaphore lock is available (#4380)
- fix: Fix intstr nil dereference (#4376)
- build: Fix clean-up of vendor (#4363)
- chore: match code comments to the generated documentation (#4375)
- fix(controller): Only warn if cron job missing. Fixes #4351 (#4352)
- Use '[[:blank:]]' instead of ' ' to match spaces/tabs (#4361)
- fix: Do not allow tasks using 'depends' to begin with a digit (#4218)
- docs: Fix a copy-paste typo in the docs (#4357)
- fix(executor): Increase pod patch backoff. Fixes #4339 (#4340)
- docs: Update pvc example with correct resource indentation. Fixes #4330 (#4346)
- feat(executor): Wait for termination using pod watch for PNS and K8SAPI executors. (#4253)
- fix: ui/package.json & ui/yarn.lock to reduce vulnerabilities (#4342)
- refactor: De-couple config (#4307)
- docs: Fix typos (/priviledged/privileged/) (#4335)
- fix(ui): correct typing errors in events-panel (#4334)
- fix(ui): correct typing errors in workflows-toolbar (#4333)
- fix(ui): correct typing errors in cron-workflow-details (#4332)
- docs: Update releasing guide (#4284)
- feat(controller): add enum support in parameters (fixes #4192) (#4314)
- fix(executor): Fix the artifacts option in k8sapi and PNS executor Fixes#4244 (#4279)
- fix(cli): Return exit code on Argo template lint command (#4292)
- fix(cli): Fix panic on argo template lint without argument (#4300)
- docs: Fix incorrect link to static code analysis document (#4329)
- docs: Add diagram (#4295)
- build: Refactor
codegen
to make target dependencies clearer (#4315) - fix: merge artifact arguments from workflow template. Fixes #4296 (#4316)
- docs: Ye olde whitespace fix (#4323)
- chore(controller): Refactor the CronWorkflow schedule logic with sync.Map (#4320)
- docs: Fix typo in docs for artifact repository
- Update USERS.md (#4322)
- fix(executor): Retrieve containerId from cri-containerd /proc/{pid}/cgroup. Fixes #4302 (#4309)
- feat(controller): Allow whitespace in variable substitution. Fixes #4286 (#4310)
- fix(build): Some minor Makefile fixes (#4311)
- feat(ui): Submit resources without namespace to current namespace. Fixes #4293 (#4298)
- docs: improve ingress documentation for argo-server (#4306)
- fix(ci): add non-root user to Dockerfile (#4305)
- fix(ui): undefined namespace in constructors (#4303)
- docs: Docker TLS env config (#4299)
- fix(controller): Patch rather than update cron workflows. (#4294)
- fix: TestMutexInDAG failure in master (#4283)
- fix: WorkflowEventBinding typo in aggregated roles (#4287)
- fix(controller): Fix argo retry with PVCs. Fixes #4275 (#4277)
- fix(ui): Ignore missing nodes in DAG. Fixes #4232 (#4280)
- fix(controller): Fix cron-workflow re-apply error. (#4278)
- fix(controller): Synchronization lock didn't release on DAG call flow Fixes #4046 (#4263)
- feat(ui): Add a nudge for users who have not set their security context. Closes #4233 (#4255)
- test: Tidy up E2E tests (#4276)
- docs: daemon example: clarify prefix usage (#4258)
- feat(cli): add
--field-selector
option fordelete
command (#4274) - chore(controller): N/W progress fixes (#4269)
- docs: Add docs for
securityContext
andemptyDir
. Closes #2239 (#4251) - feat(controller): Track N/M progress. See #2717 (#4194)
- fix: Add WorkflowEventBinding to aggregated roles (#4268)
- docs: Minor formatting fixes (#4259)
- docs: correct a typo (#4261)
- fix(controller): Make the delay before the first workflow reconciliation configurable. Fixes #4107 (#4224)
- chore(api): Update swagger.json with Kubernetes v1.17.5 types. Closes #4204 (#4226)
- feat(controller): Reduce reconcilliation time by exiting earlier. (#4225)
- fix(ui): Revert bad part of commit (#4248)
- fix(ui): Fix bugs with DAG view. Fixes #4232 & #4236 (#4241)
Contributors
- Aayush Rangwala
- Alex Collins
- Alexander Mikhailian
- Amim Knabben
- Antoine Dao
- Arghya Sadhu
- Basanth Jenu H B
- Boolman
- Byungjin Park (BJ)
- Daisuke Taniwaki
- David Gibbons
- Douglas Lehr
- Elli Ludwigson
- Elvis Jakupovic
- Espen Finnesand
- Fischer Jemison
- Ids van der Molen
- Igor Stepura
- Juan C. Müller
- Lennart Kindermann
- Ludovic Cléroux
- Lénaïc Huard
- Martin Suchanek
- Michael Crenshaw
- Michael Ruoss
- Mike Chau
- Naisisor
- Nicwalle
- Noah Hanjun Lee
- Oleg Borodai
- Paul Brabban
- Pavel Čižinský
- Saravanan Balasubramanian
- Simon Behar
- Snyk bot
- Tomáš Coufal
- Vlad Losev
- Yuan Tang
- Zach
- aletepe
- boundless-thread
- conanoc
- dherman
- duluong
- fsiegmund
- hermanhobnob
- ivancili
- omerfsen
- saranyaeu2987
- tczhao
- tomgoren
- zhengchenyu