argoproj / argoproj/argo-workflows
More efficient SaveResourceParameters
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 138
Description
# Summary
Currently argo call `kubectl get` [for each output parameters](https://github.com/argoproj/argo-workflows/blob/v3.0.1/workflow/executor/resource.go#L340) in resource template. It can decrease to 1 time `kubectl get` call and `len(outputs.parameters)` times processing with same data, saving network traffic, and also preventing data inconsistency if something happen to the resource between the loop.
---
**Message from the maintainers**:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.
Contributor guide
Research direction
Start in workflow/executor/resource.go at the linked SaveResourceParameters code around line 340, and trace how resource-template output parameters are processed. Confirm the current kubectl get loop and define done as one kubectl get call supplying consistent data for processing all output parameters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- backend, devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100