argoproj / argoproj/argo-workflows

More efficient SaveResourceParameters

Open
#5,658 5 comments 0 reactions 0 assignees View on GitHub
area/templates/resource help wanted type/tech-debt
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.