This message was deleted.
# terraform
s
This message was deleted.
t
j
Cool thanks! I see. So fundamentally partitioning. For env0's workflows, say you have an environment for the DB. What would your process look like for splitting up that DB into smaller environments?
t
Managing very stateful infra is kinda hard in TF. I keep DB creation seperate from the rest of the environment workflows and they have very specific approval rules. For my workflow, I use an environment/interface pattern. I have an environment that deploys a thing, then I use a module that enforces the contract between it and its dependencies.
Env0's approach doesn't allow for approvals in the workflow so I keep DBs out of them for the time being
Each workflow uses a seperate TF workspace, so it allows you to build complex deployment patterns fairly easily in dev/stg/prd... for example
j
Thanks Troy!
I’ll take a look
t
NP, previous to workflows I managed everything through a complicated set of file glob trigger rules... there are some definite downsides here, but I think the benefits out weigh the negatives... and Env0 is working on resolving some of my issues with their current implementation.
j
Have you tried any of their competitors like spacelift, etc? Curious if they have similar functionality
t
I evaluated Spacelift and Terraform Cloud about 2 years ago when I started using Env0. Spacelift was pretty bleak feature wise at the time. Terraform Cloud had some bug where they weren't able to read state files on Azure storage accounts and during my evaluation period It was taking about a 2 weeks to get any kind of response from their support. Env0 was about half the price of Terraform cloud and their response time to questions has always been about an hour or so no matter how much I paid them... so it was a pretty easy choice, imo.
Spacelift looks MUCH better now, btw... I think they've done a lot to catch up.
j
Still happy with env0 though?
t
I am
a
we’ve been building out a single work flow for TF + Services so you can take dependencies, put approvals, and also encode other validators https://docs.prodvana.io/docs/terraform-runner - we’re not specifically a TF CI/CD platfor like the others but more of a framework to solve the problems you’ve all mentioned.
t
The only platform mentioned so far that doesn't integrate with other IAC languages is Terraform Cloud.
a
We can actually integrate with TF Cloud 😉
We’ve had customers use this to wrap legacy deploy flows or VM deployment flows and make them look declarative from the system’s perspective to reduce overhead on the day to day user.