argoproj / argoproj/argo-workflows

Set `steps.*.ip` for `withSequence`

Open
#13,614 0 comments 0 reactions 0 assignees View on GitHub
area/daemon-steps area/looping area/templating
Dominant language
Go
Stars
17k
Forks
3.7k
Avg merge
1d 20h
Merged PRs (30d)
138

Description

# Summary

Presently, if a node is marked as `daemon: true`, its IP is available as `steps.*.ip` or `tasks.*.ip`. Unlike outputs, this is not set if the step is an aggregate like `withSequence`. If this were consistent, this field would be set to a JSON list of IPs.

## Use Cases

The motivating use case is where a pool of independent simulation workers are spawned at the start of the workflow, and then issued tasks by other steps in the workflow. Presently, this is possible, but requires the use of the k8s api to find the pod IP's.

---

**Message from the maintainers**:

Love this feature request? Give it a 👍. We prioritise the proposals with the most 👍.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how daemon node IPs are exposed through steps.*.ip and tasks.*.ip, then compare that path with how outputs from an aggregate such as withSequence are assembled. Done means an aggregate daemon step exposes its IPs as a JSON list, consistently with existing output behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.