To download the alpha release, go to the release page of the OpenTofu repo and select the binary that corresponds to the OS you will be using OpenTofu on.
First off, a complete renaming of Terraform to OpenTofu had to be done for legal reasons. Along with that, the team also had to ensure there was a suitable OpenTofu registry in place as the existing Terraform registry is only allowed to be used with Terraform.
Other than that, from an end user perspective, it is just a difference in the command line. Instead of calling “terraform”, you will now call “tofu”. All of the existing Terraform commands that were present from 1.5.x and below will continue to work.
The original Terraform registry is essentially a metadata server that shows all of the information regarding the providers with the providers actually living in third party sources like Github. The team was able to create our own registry, which will ensure that all existing 2260 providers will continue to work without violation of Hashicorp ToS.
The release of the registry is considered alpha with work underway to make a production ready registry. If you’re interested in contributing to the registry, you can find the repo here.
Once downloaded, there is not much difference between the Terraform 1.5.x and OpenTofu commands. The basic commands remain the same:
Transitioning from Terraform to OpenTofu couldn't be easier, all you have to do is execute Tofu against your existing Terraform state files. As seen here, I have an existing state file that was created using Terraform 1.5.0 and the null resource provider:
Everything worked as expected and no need to do any major migrations, just update the binary!
To switch to OpenTofu in Scalr, you simply need to update your workspace settings. Go to your pipeline settings and search for version 1.6.0 and save. The next run will update your workspace to use OpenTofu!
With any alpha release, it is expected that improvements will be needed and bugs will be identified. If you are interested in contributing or find an issue, please feel free to open an issue in the public repo here.