Convox Community

CLI Rack + S3 Terraform state vs Console Rack

We’re in the process of upgrading from Rack v2 to v3; so far, v3 looks great and I think it’s going to be a big win having consistency from development to production.

In the course of figuring out the Terraform upgrades needed to make the local rack work on M1 Macs, I discovered the ~/Library/Preferences/convox/racks folder, which contains the generated Terraform.

We already use Terraform for managing other parts of our infrastructure, and much of our compliance auditing is based on availability of the git log and PRs to document changes. For our V2 Rack I’ve used Terraform data stanzas to pull in the cluster and make changes, but that’s always felt a little brittle (and like it excludes the whole foundational part of our stack).

Is there an operational difference between a cloud-created & managed rack, vs. checking in the Terraform generated by Convox and using something like the S3 state store?

I assume that we wouldn’t get the same sort of metrics dashboard that we get for console-racks.

I suspect that we’d have to do something to get the Terraform files in the right place on each developer’s machine (unless there’s an environment variable that tells the CLI where to look for rack state).

Would this also preclude the use of workflows?

Or put another way, is it possible to combine console racks + user-managed Terraform?

Thanks!