argoproj / argoproj/argo-workflows
Sub-Templates that can be merged with templates during creation
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 138
Description
# Summary
It would be awesome to have a sub-template configuration that could be included/merged with an existing templates. (Kinda like Kubernetes PodPresets)
# Use Cases
Examples:
* Node Selector / Toleration configuration to get a workflow step to run on specific nodes
* Sidecar configuration to include an SQL proxy sidecar
I was thinking about this from the standpoint of creating a mutating admission controller webhook but couldn't find a decent one that did what I wanted. It would be ideal if this could just be a resource where you could reference a partial template that gets merged.
The tolerations/node selector config could schedule for lots of different node types and with a simple annotation you could send a workflow to a specific node. (In my case, I want to keep the nodes shutdown unless I'm running the workflow)
Also, I would like to be able to easily inject proxy sidecars into workflows without having to specify the full configuration.
Another option would just be a way to include parametrically include yaml when writing templates.
If there's a way to do this already, I haven't found it yet.
---
**Message from the maintainers**:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.
Contributor guide
Research direction
Review the existing workflow template creation and Kubernetes integration, then compare the proposed sub-template resource, merge behavior, and parameterized YAML alternatives. The work is complete only when one approach is specified and implemented with a clear way to inject scheduling settings or sidecars into workflows without duplicating the full template.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100