- UI retrieve logs from artifacts location if logs archiving is enabled (issue #1018)
- Add imagePullPolicy config for executors (@dtaniwaki)
- Detect and indicate when container was OOMKilled
- support force namespace isolation in UI
- Workflow executor panic: workflows.argoproj.io/template not found (issue #1033)
- gc-ttl dose not work (issue #1004)
- Resubmission of a terminated workflow creates a new workflow that is already terminated (issue #1011)
- ZIP containing single file cannot be used as an artifact due to errors in init container (issue #984) (@mthx)
- Regression when S3 secret has trailing newline (issue #981)
- Documentation fixes (@gsf, @davidB, @dtaniwaki)
-
The
argo install
andargo uninstall
commands have been removed from the CLI. Instead, plain kubernetes manifests are provided to be installed usingkubectl apply
, or downstreamed into other tools (e.g. helm chart, ksonnet prototype, kustomize, etc...). -
In 2.1, argo would install into the kube-system namespace by default. The new install instructions have been updated to install into a different namespace,
argo
. In order to move to the recommended installation location, you should delete the v2.1 resources from kube-system before applying the new manifests to theargo
namespace.The following commands migrates the workflow-controller-configmap from the
kube-system
to theargo
namespace, and deletes all argo resources from thekube-system
namespace. Note that this will delete the argo-ui service, resulting in the LoadBalancer being deleted (if created).kubectl get cm workflow-controller-configmap -o yaml -n kube-system --export | kubectl apply -n argo -f - kubectl delete -n kube-system cm workflow-controller-configmap kubectl delete -n kube-system deploy workflow-controller argo-ui kubectl delete -n kube-system sa argo argo-ui kubectl delete -n kube-system svc argo-ui
-
In 2.1, the argoexec sidecar image was configured in the workflow-controller-configmap. This is now configured using a new
--executor-image
flag in theworkflow-controller
deployment. This is the preferred way to configure the executor image, since upgrades can now be performed without changing the workflow-controller configmap. The executorImage setting in the config is deprecated and may be removed/ignored in a future release.
- Support withItems/withParam and parameter aggregation with DAG templates (issue #801)
- Add ability to aggregate and reference output parameters expanded by loops (issue #861)
- Support for sophisticated expressions in
when
conditionals (issue #860) - Introduce Pending node state to highlight failures when starting workflow pods (issue #525)
- Support additional container runtimes through kubelet executor (issue #902) (@JulienBalestra)
- Introduce archive strategies with ability to disable tar.gz archiving (issue #784)
- Introduce
keyFormat
workflow config to enable flexibility in archive location path (issue #953) - Introduce
argo watch
command to watch live workflows from terminal (issue #969) - Add ability to archive container logs to the artifact repository (issue #454)
- Support for workflow level timeouts (issue #848)
- Introduce
argo terminate
to terminate a workflow without deleting it (issue #527) - Introduce
withSequence
to iterate a range of numbers in a loop (issue #945) - Github login using go-git, with support for ssh keys (issue #793) (@andreimc)
- Add TTLSecondsAfterFinished field and controller to garbage collect completed workflows (issue #911)
- Add
argo delete --older
flag to delete completed workflows older than a duration - Support referencing of global workflow artifacts (issue #900)
- Support submission of workflows from json files (issue #926)
- Support submission of workflows from stdin (issue #926)
- Prometheus metrics and telemetry (issue #896) (@bbc88ks)
- Detect and fail upon unknown fields during argo submit & lint (issue #892)
- Allow scaling of workflow and pod workers via controller CLI flags (issue #962)
- Allow supplying of parameters from a file during
argo submit
(issue #796) (@vosmith) - [UI] UI support/spinning clock for pending pods (@EdanSneh)
- Remove installer/uninstaller (issue #928)
- Update golang compiler to v1.10.3
- Update k8s dependencies to v1.10 and client-go to v7.0
- Update argo-cluster-role to work with OpenShift
- Fix issue where retryStrategy with DAGs fails, even if the step passes after retries (issue #885)
- Fix issue where sidecars and daemons were not reliably killed (issue #879)
- Redundant verifyResolvedVariables check in controller precluded the ability to use {{ }} in other circumstances
- Fix issue where retryStrategy with DAGs fails, even if the step passes after retries (issue #885)
- Fix outbound node metadata with steps templates causing incorrect edges to be rendered in UI
- Fix outbound node metadata with retry nodes causing disconnected nodes to be rendered in UI (issue #880)
- Error workflows which hit k8s/etcd 1M resource size limit (issue #913)
- [UI] Fixed 'X' hiding under page (@EdanSneh)
- [UI] Beautified resource template. Yaml will now indent 2 spaces instead of one space
- Switch to an UnstructuredInformer to guard controller against malformed workflow manifests (issue #632)
- Fix issue where suspend templates were not properly being connected to their children (issue #869)
- Fix issue where a failed step in a template with parallelism would not complete (issue #868)
- Fix issue where
argo list
age column maxed out at 1d (issue #857) - Fix issue where volumes were not supported in script templates (issue #852)
- Fix implementation of DAG task targets (issue #865)
- Retrying failed steps templates could potentially result in disconnected children
- [UI] Fix crash while rendering failed workflow with exit handler (issue #815)
- [UI] Fix locating outbound nodes for skipped node
- [UI] Fix JS crash caused by inconsistent workflow state
- [UI] Fix blank help page when using browser navigation
- [UI] API server can filter workflows managed by specific workflow controller (@kzadorozhny)
- [UI] Restore support for accessing the UI using
kubectl proxy
(@mthx) - [UI] Pass the namespace when querying the logs (issue #777) (@mthx)
- [UI] Improve workflow sorting (issue #866)
- Add windows support for Argo CLI (@cuericlee)
- Documentation fixes (@mthx, @bodepd)
- Support for DAG based definition of workflows
- Add
spec.parallelism
field to limit concurrent pod execution at a workflow level - Add
template.parallelism
field to limit concurrent pod execution at a template level - Add
argo suspend
,argo resume
to suspend and resume workflows - Add
argo resubmit
to resubmit a failed workflow - Add
argo retry
to retry a failed workflow with the same name - Add
--instanceid
flag toargo submit
command to submit workflow with controller's specific instance id label - Add
--name
and--generate-name
to override metadata.name and/or metadata.generateName during submission - Add
argo logs -w
to support rendering combined workflow logs - Experimental support for resubmitting workflows with memoized steps
- Improved parameters and output validation
- UI migrated to React
- Workflow details page redesigned: added DAG view support, added workflow timeline tab.
- Workflow details page enhancements: added sidecar containers details; workflow exist handler is available on DAG diagram and timeline view.
- Support for pod tolerations (@discordianfish)
- Make
workflow.namespace
available as a global variable (@vreon) - Support for exported global output parameters and artifacts
- Trim a trailing newline from path-based output parameters
- Add ability to reference global parameters in spec level fields
- Make {{pod.name}} available as a parameter in pod templates
- Argo CLI shell completion support (@mthx)
- Add ability to pass pod annotations and labels at the template levels (@wookasz)
- Add ability to use IAM role from EC2 instance for AWS S3 credentials (@wookasz)
- Abstract the container runtime as an interface to support mocking and future runtimes
- Documentation and examples fixes (@IronPan, @dmonakhov, @bodepd, @mthx, @javierbq, @sebdoido)
- Rewrite the installer
- install & uninstall commands use --namespace flag (@Fitzse)
- Trim spaces from aws keys (@bodepd)
- Update base image to debian 9.4 (from 9.1) (@mthx)
- Global parameters were not referenceable from artifact arguments
- spec.arguments are optionally supplied during linting
- Fix for CLI not rendering edges correctly for nested workflows
- Fix template.parallelism limiting parallelism of entire workflow
- Fix artifact saving to artifactory (@dougsc)
- Use socket type for hostPath to mount docker.sock (@DSchmidtDev)
- Fix rbac resource versions in install (@dvavili)
- Fix input parameters on a steps template prevent daemon pods from terminating (@adampearse)
- Fix locating outbound nodes for skipped node (issue #825)
- Avoid
println
which outputs to stderr (@mthx) - Fix issue where daemoned steps were not terminated properly in DAG templates
- Fix
argo install
does not install argo ui deployment
- Support for exported global output parameters and artifacts
- Introduce
argo retry
to retry a failed workflow with the same name - Trim a trailing newline from path-based output parameters
- Add ability to reference global parameters in spec level fields
- Make {{pod.name}} available as a parameter in pod templates
- Argo CLI shell completion support (@mthx)
- Support rendering combined workflow logs using
argo logs -w
- Add ability to pass pod annotations and labels at the template levels (@wookasz)
- Add ability to use IAM role from EC2 instance for AWS S3 credentials (@wookasz)
- Rewrite the installer
- Abstract the container runtime as an interface to support mocking and future runtimes
- Documentation and examples fixes (@IronPan, @dmonakhov)
- Global parameters were not referenceable from artifact arguments
- spec.arguments are optionally supplied during linting
- Fix for CLI not rendering edges correctly for nested workflows
- Fix template.parallelism limiting parallelism of entire workflow
- Fix artifact saving to artifactory (@dougsc)
- Use socket type for hostPath to mount docker.sock (@DSchmidtDev)
- Support for DAG based definition of workflows
- Add
spec.parallelism
field to limit concurrent pod execution at a workflow level - Add
template.parallelism
field to limit concurrent pod execution at a template level - Add
argo suspend
,argo resume
to suspend and resume workflows - Add
argo resubmit
to resubmit a failed workflow - Add
instanceid
parameter support toargo submit
command to submit workflow with controller's specific instance id label - Experimental support for resubmitting workflows with memoized steps
- Improved parameters and output validation
- UI migrated to React.
- Workflow details page redesigned: added DAG view support, added workflow timeline tab.
- Workflow details page enhancements: added sidecar containers details; workflow exist handler is available on DAG diagram and timeline view.
- Support for pod tolerations (@discordianfish)
- Make
workflow.namespace
available as a global variable (@vreon)
- Trim spaces from aws keys (@bodepd)
- Documentation fixes (@bodepd)
- Fix rbac resource versions in install (@dvavili)
- Add ability to specify affinity rules at both the workflow and template level
- Add ability to specify imagePullSecrets in the workflow.spec
- Generate OpenAPI models for the workflow spec
- Support setting the UI base url
- Fix issue preventing the referencing of artifacts in a container with retries
- Fix issue preventing the use of volumes in a sidecar
- Use and install minimal RBAC ClusterRoles for workflow-controller and argo-ui deployments
- Introduce
retryStrategy
field to control set retries for failed/errored containers - Introduce
raw
input artifacts - Add
argo install --dry-run
to print Kubernetes YAML manifests without installing - Add
argo list
sorts by running pods, then by completion time - Add
argo list -o wide
to show pod counts and parameter information - Add
argo list --running --completed --status
workflow filtering - Add
argo list --since DURATION
to filter workflows based on a time duration - Add ability for steps and resource templates to have outputs parameters
- OpenID Connect auth support (@mthx)
- Increase controller rate limits for much faster processing of highly parallized workflows
- Executor sidecar hardening (retrying of Kube API queries)
- Switch to k8s-codegen generated workflow client and informer
- {{workflow.uuid}} variable corrected to {{workflow.uid}}
- Documentation fixes (@reasonthearchitect, @mthx)
- Prevent a potential k8s scheduler panic from incomplete setting of pod ownership reference
- Fix issues in controller operating on stale workflow state, and incorrectly identifying deleted pods
- Introduce the "resource" template type for performing CRUD operations on k8s resources
- Support for workflow exit handlers
- Support artifactory as an artifact repository
- Add ability to timeout a container/script using activeDeadlineSeconds
- Add CLI command and flags to wait for a workflow to complete
argo wait
/argo submit --wait
- Add ability to run multiple workflow controllers operating on separate instance ids
- Add ability to run workflows using a specified service account
- Scalability improvements for highly parallelized workflows
- Improved validation of volume mounts with input artifacts
- Argo UI bug fixes and improvements
- Documentation fixes (@javierbq, @anshumanbh)
- Recover from unexpected panics when operating on workflows
- Fix a controller panic when using a script templates with input artifacts
- Fix issue preventing ability to pass JSON as a command line argument
- Argo release for KubeCon 2017
- Initial release of Argo as a Kubernetes CRD (presented at Bay Area Kubernetes Meetup)
- Reduce sizes of axdb, zookeeper, kafka images by a combined total of ~1.7GB
- Add
argo app list
andargo app show
commands - Add
argo job logs
for displaying and following job logs
- Fix issues preventing proper handling of input parameters and output artifacts with dynamic fixtures
- Initial release