Feature Request: Support Multiple Workload References in a Single Rollout #4563
schnell3526
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hey Argo Rollouts team 👋
First off, thank you for building such an incredible project! We've been using Argo Rollouts in production for progressive delivery, and it's been a game-changer for our deployment safety.
I'm reaching out because we've hit an interesting challenge that I think many organizations face - managing cost-optimized infrastructure while maintaining deployment safety.
Our Challenge
We run the same application across two infrastructure tiers:
Both tiers run identical application code and must stay on the same version, but they differ only in Kubernetes scheduling constraints (node affinity, tolerations, etc.). Currently, we use separate Deployments to achieve this infrastructure separation, which creates a coordination problem during rollouts.
We've been working around this with operational constraints (deploying during low-traffic periods, manually checking Scale tier pod counts), but this adds operational burden without truly solving the problem.
Feature Request: Support Multiple Workload References in a Single Rollout
Summary
Add support for managing multiple Deployments with a single Rollout, enabling coordinated progressive delivery for workloads that share the same application but differ in infrastructure configuration.
Proposed Solution
API Extension
Introduce
workloadRefs(plural) alongside existingworkloadRef.Behavior
All referenced Deployments:
rollouts-pod-template-hashValidation Rules
workloadRefandworkloadRefsare mutually exclusiveBackward Compatibility
This proposal is fully backward compatible:
workloadRefcontinues to work unchangedworkloadRefsis purely additiveThis pattern follows Kubernetes API evolution conventions (similar to
container→containers).Distinction from Related Issues
This proposal is fundamentally different - it addresses a single application deployed across infrastructure tiers. Since the application layer is identical:
This aligns with how Kubernetes Service uses label selectors to abstract over multiple Pods. We're proposing Rollout abstract over multiple Deployments of the same application.
Implementation
If this proposal aligns with the project's direction, I would like to take ownership of the implementation.
Proposed approach:
I'm prepared to create a detailed design document and implement a proof-of-concept once we align on the approach.
Thanks for taking the time to read this! 🙏
Beta Was this translation helpful? Give feedback.
All reactions