argoproj / argoproj/argo-workflows
Expose the "message" of a pod from argo get/watch to subsequent steps
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 138
Description
# Summary
An Argo variable `{{steps.X.message}}` (or maybe `{{steps.X.outputs.message}}`) should include the message information that is displayed in `argo get` / `argo watch` so later steps can act accordingly.
# Motivation
I work with nodes with sometimes fail for a variety of reasons: `failed with exit code 1`, `pod deleted`, `the node had condition: [MemoryPressure]`, and more. I would like expose this message to later steps for proper processing; for instance, if the message is `pod deleted`, I would like to run it again, but I currently have to handle that sort of logic outside the workflow.
# Proposal
This information seems accessible, since it's included in `argo get`. It seems simple to annotate it like with the `exitCode`.
---
**Message from the maintainers**:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.
Contributor guide
Research direction
Trace how the message displayed by `argo get` and `argo watch` is produced, then compare it with the existing `exitCode` exposure. Done means a later workflow step can reference the pod message through the proposed variable and use it for conditional processing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- backend, cli, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100