argoproj / argoproj/argo-workflows

Sub-Templates that can be merged with templates during creation

Open
#4,480 2 comments 0 reactions 0 assignees View on GitHub
area/spec
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.