Hey folks, I'm Ricard Bejarano from Cisco. We're ...
# atlantis-contributors
r
Hey folks, I'm Ricard Bejarano from Cisco. We're heavy users of Atlantis but have figured out a number of things we're missing in it, I've consulted with @RB and he suggested i posted my proposals here for the wider group to post feedback. We (mostly myself) would contribute these but would like confirmation that this is the direction the project wants to go. • ability to lock independent of plan: ◦ right now, Atlantis locks a project so long it holds a valid plan for that project in an open PR ◦ however, most our PRs spend some time "in the making" while the author gets everything right, we'd like not to lock during that time, until the plan is "ready for review" so to speak ◦ having an explicit
atlantis lock
command or better yet, locking on first approval, would allow that • decouple "control plane" from "workers" ◦ basically, split Atlantis into two pieces: ▪︎ the piece that receives webhooks and coordinates workers ▪︎ workers that just run plans or applies ◦ this would allow for autoscaling, otherwise we're bound to a single Atlantis instance and we've already maxed out ECS ◦ another option we're considering is sharding Atlantis (on PR number, for example), but then we'd need to share the storage of locked projects • so, yank lock storage out of memory and into a shared datastore like DynamoDB for example ◦ this not only allows sharding Atlantis but it would also allow other interop use cases with other systems ◦ ight now we're considering a use case that sidelines Atlantis to do some automated operations without having to deal with PRs and having the list of locks just be a DynamoDB table would allow such flexibility there's more stuff cooking but right now these are the ones we're more interested in and willing to contribute
p
Hi Richard, for the first point , this might work for you? https://github.com/runatlantis/atlantis/pull/3879
For the decoupling point, we have a few Atlantis HA conversations going on about this, and it is a VERY BIG change for Atlantis, so we will need to make sure that you and Cisco can support this and have some sort of commitment going forward because of how big the change is. We can get into a call if that makes it easier to discuss.
and for the lock, the Redis lock is not enough? maybe adding more metadata to it?
r
oh nice!
great to see 1 and 3 are already in there!
we can commit to building the decoupling once we agree on the technicals about it
thank you! i'll bring these back to my team
👍 1