3 ms·
https://www.terraform.io/ https://www.terraform.io/
by JacobHenner 8y ago
https://www.terraform.io/ https://www.terraform.io/
- hinkley 8y agoIs there a good way to sandbox terraform configurations? I'm not directly involved (just hear the screaming) but everything I'm hearing is that making modifications is a test of willpower. For us it's been about as transparent as a brick wall and I'm not clear if that's down to our bureaucracy or built into the design. Both are anathema to the goal of making complex deployments straightforward and self-describing (you can't manage something this complicated unless big parts of it are as obvious as can be).
- matwood 8y agoThe recommended way, at least for AWS, is to have multiple accounts. One for production, and then however many more for test and development. Separate accounts let you run TF changes and know you will not impact production. TF can be tricky to grok at first especially if you don't have everything in TF. But, I couldn't imagine managing more than a server or 2 without it or something similar at this point. Once you get into VPCs, IAMs, etc..., some type of tool is really required. I'm also a little confused about your transparency comment. IME, tf is very clear what it is going to do in a plan. The current state files are also just json, and easy to read/search if you're not sure about something.
- hinkley 8y agoDeclarative syntax is notoriously hard to debug, especially for newbies. As a general rule, if you're giving someone a tool that uses declarative syntax, you also need to provide them a private (not shared) sandbox in which to test out theories, try new things, and reproduce errors seen in production. Since we don't have that, TF is pretty much the worst solution for our problems. Kube or even Docker Swarm would serve us much better.
- driverdan 8y agoTerraform requires separate config for each provider.
- djsumdog 8y agoThere's no way around that really. I wrote my own provisioner and each provider is so different: https://github.com/sumdog/bee2 https://github.com/sumdog/bee2 Vultr allows floating IPs for IPv4 and IPv6, but Digital Ocean only has floating IPv4. Vultr will start a machine with a floating v4, but you have to add a floating v6 address (giving you two v6 addresses). Digital Ocean does the same thing with v4 (giving you two v4 addresses). They both have different network adapter names, so you've got to configure those per provider as well. Terraform and my own thing help in easing the transition if you ever need to move, but modifications will still have to be made.