Best practices for Terraform project layout?

I’m upgrading to Terraform 1.0, and want to standardize our repos as much as possible to make it easier for new developers joining the team.

I know it’s a somewhat trivial question, but is there any generally regarded best practice for layout?

Specifically for required provider versions, should they go in versions.tf or providers.tf?

1 Like

terraform_remote_state is your friend.

Here’s a great writeup wrought from the depths of despair, so you know this has been thought through well and tested ever more: