As I said I would do a few days back, I gave OpenTofu a try on one of my old Terraform projects. The TLDR; is that it worked without any changes to the existing scripts.

The first step was downloading and building it on my ancient MacBook. The instructions to build the source code were easy to follow and it didn’t take too long to get it running.

After that, it was a matter of getting an updated API key for Hetzner Cloud and creating a terraform.tfvars file for that key. Then running tofu init, tofu plan and tofu apply to run the script.

OpenTofu was able to build the specified server on the cloud. I could log into the created server without issue. The only problem is that the steps to install faasd were a bit dated so the service didn’t start, but that’s not OpenTofu’s fault.

After I was done, I ran tofu destroy and the server was properly cleaned up. Overall, a successful trial.

Unfortunately, there isn’t an OpenTofu Registry so I referenced the Terraform Registriy which is a violation of the ToS apparently. Once the new registry is available, it should be a 100% replacement for the current version of Terraform.