IssueRaiser

Application dependencies

# Summary I was speaking with @jasonmorgan from Buoyant today about a missing feature in Argo CD for blocking application syncs based on required dependencies on other applications. The use case is: 1. I need to deploy apps A and B 2. B must not be deployed before A (because A has a mutating webhook which must be in place before B starts) 3. I want to sync them all at the same time and don't want to think about clicking sync in some correct order This is especially important for the bootstrapping use case where you're recreating a cluster from git, and you need to create many apps after a bunch of system-level add-ons are fully available. e.g. linkerd must be in place before any applications come up, because linkerd's mutating webhook needs to inject sidecars into application pods starting up. The use case is very compelling and I'm convinced we should prioritize this. I think this feature, combined with ApplicationSets will really start to complete our bootstrapping story. # Motivation Please give examples of your use case, e.g. when would you use this. During cluster bootstrapping, cluster addons (especially ones with mutating webhooks) need to be in place before application pods can come up. # Proposal How do you think this should be implemented? It turns out, @jannfis already started some work on this, and the spec changes close to what we need: https://github.com/argoproj/argo-cd/pull/3892 Given the age of the original PR, I'm filing an issue in case we abando

Posted by jessesuen on Oct 14, 2021, 7:28 AM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.3,000 issues0 comments

github (E-commerce)

Application dependencies

jessesuenOct 14, 2021, 7:28 AM

# Summary I was speaking with @jasonmorgan from Buoyant today about a missing feature in Argo CD for blocking application syncs based on required dependencies on other applications. The use case is: 1. I need to deploy apps A and B 2. B must not be deployed before A (because A has a mutating webhook which must be in place before B starts) 3. I want to sync them all at the same time and don't want to think about clicking sync in some correct order This is especially important for the bootstrapping use case where you're recreating a cluster from git, and you need to create many apps after a bunch of system-level add-ons are fully available. e.g. linkerd must be in place before any applications come up, because linkerd's mutating webhook needs to inject sidecars into application pods starting up. The use case is very compelling and I'm convinced we should prioritize this. I think this feature, combined with ApplicationSets will really start to complete our bootstrapping story. # Motivation Please give examples of your use case, e.g. when would you use this. During cluster bootstrapping, cluster addons (especially ones with mutating webhooks) need to be in place before application pods can come up. # Proposal How do you think this should be implemented? It turns out, @jannfis already started some work on this, and the spec changes close to what we need: https://github.com/argoproj/argo-cd/pull/3892 Given the age of the original PR, I'm filing an issue in case we abando

Comments (0)

No comments yet. Start the discussion.

Comment on this issue