Hi everyone! 👋 I've been lurking for a bit, learning so much from all your migration stories. I'm currently planning a move from Terraform to OpenTofu for our Shopify store infrastructure. It's not a huge setup, but it's critical for our operations.
We're planning a phased cutover, not a big bang switch. The idea is to migrate modules or projects one by one as we need to make changes. My big worry, reading the docs, is the state lock. I understand the basic conceptβTerraform and OpenTofu both try to lock the state file (we're using an S3 backend) to prevent concurrent runs that could corrupt it.
My specific question is about the handoff. If I'm running a Terraform apply on Monday, and then on Tuesday I want that same project to be managed by OpenTofu, what's the safe sequence? Do I have to do something special to "release" the lock from one tool so the other can pick it up? Or is the lock just based on the DynamoDB table entry (or similar) and both tools respect the same format?
I'm scared of causing a collision that locks everyone out, even if it's temporary. Has anyone walked this path and have a simple, step-by-step guide for the actual moment you switch the binary for a specific workspace? Any gotchas you ran into?