OpenTofu is growing up fast! Born when Terraform shifted to a Business Source License (BSL) in August 2023, this community-driven open-source fork of Terraform has matured into a powerful, production-ready, infrastructure-as-code tool in under five months.
A lot has happened in that time, so let’s recap the milestones and remind you of the benefits of switching to OpenTofu. We will also explain how to install OpenTofu and provide some valuable resources for making the most of this drop-in replacement for Terraform.
OpenTofu (formerly OpenTF) began life as a fork of Terraform after Hashicorp announced in August 2023 that it was adopting a BSL for Terraform, which had always been open source. Support for the initiative was massive and immediate, with the OpenTofu manifesto garnering 30,000 GitHub stars by the end of August. In September, OpenTofu joined the Linux Foundation, ensuring the tool would remain neutrally housed with impartial governance and community oversight. Alpha and beta versions soon followed, with the first stable release candidate coming out in December 2023.
OpenTofu is supported by more than 150 companies, four of whom have committed to covering the cost of FTEs to work on the project, Spacelift is one of those companies, and we are members of the project’s steering committee, together with representatives from Scalr, Gruntwork, Harness, and env0. Hundreds of individuals also support OpenTofu, inspired by its simple mission of keeping Terraform open-source always.
OpenTofu is a logical choice for anyone switching from Terraform or adopting the infrastructure-as-code (IaC) approach for the first time. Its benefits include:
- Stability: OpenTofu is a member of the Linux Foundation, which not only ensures input from a large community of open-source experts, practitioners, and users, but also provides peace of mind that OpenTofu will remain stable and continue to grow and improve.
- Community support: The endorsement of so many companies and individuals provides strong community-driven backing. This community will drive OpenTofu in the right direction, guided by impartial governance and oversight.
- Dynamic project: As an open-source, community-driven initiative, OpenTofu offers exciting potential for contributors to make a real difference. This will help the project grow and adapt in line with users’ needs.
Starting with OpenTofu involves a few key steps:
- Installation: Install OpenTofu using the method appropriate to your operating system.
- Configuration: After installing OpenTofu, you can use it as it is, but you can also configure it to suit your specific needs. This might include setting up user preferences or installing and configuring other tools that may integrate with your OpenTofu repositories.
- Exploring OpenTofu features: Familiarize yourself with the features and capabilities of OpenTofu, such as its CLI and any unique functionalities it offers.
- Dive into the documentation: Consult the OpenTofu documentation for detailed guidance on its usage, troubleshooting, and advanced configurations.
Supporting resources:
- Webpage
- Blog posts:
– Why OpenTofu is a Good Choice for IaC Adopters
– Why should you switch to OpenTofu
- Videos:
You can install OpenTofu using various methods, depending on the operating system:
Alpine Linux
For Alpine, you can either install OpenTofu from the Alpine Testing repository or install the apk directly.
To install OpenTofu from the repository, run the following command:
apk add opentofu --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing/
To install the apk directly, you will first have to download one of the versions from here, and run the following command:
apk add --allow-untrusted tofu_*.apk
Refer to the official OpenTofu docs for more details.
Ubuntu/Debian
To add the repositories, you will need to install some tooling that should be mostly available on debian systems, ensure you have a copy of the OpenTofu GPG key, and create the OpenTofu source list as described here.
After that, install OpenTofu by running:
sudo apt-get update
sudo apt-get install -y tofu
RHEL/Suse/Fedora
For rpm-based systems, you will first need to create the repo, as shown here.
If you are using yum, save this to /etc/yum.repos.d/opentofu.repo, and if you are using zipper, save this to /etc/zypp/repos.d/opentofu.repo.
After you have created the repo, run the following commands:
# yum
sudo yum install -y tofu
# zypper
zypper --gpg-auto-import-keys refresh opentofu
zypper --gpg-auto-import-keys refresh opentofu-source
zypper install -y tofu
Linux (Install via Snap)
snap install --classic opentofu
MacOS
The OpenTofu package is available in the Homebrew Core repository so you can install it by running the following command:
brew install opentofu
To check out other ways to install OpenTofu, check out the installation guides from the official OpenTofu installation guide.
Join us on February 1 for OpenTofu Unpacked, a free webinar featuring contributions from some of OpenTofu’s founder members. This event will be invaluable for anybody seeking to get the most from OpenTofu, offering expert insights for those who believe in an open-source future for infrastructure as code.
And if you are looking for a reliable partner who can help you train your team, accelerate your migrating, and help with all of your OpenTofu workloads, Spacelift has some helpful resources. Spacelift is one of the founding members of the OpenTofu initiative, and, apart from supporting OpenTofu natively as part of the platform, it offers native and commercial support to ensure your OpenTofu workflows run smoothly.
Read more about Spacelift’s professional services here.
OpenTofu’s first stable release is here, and it is production-ready. The logical choice for anybody looking for a stable, community-driven, open-source alternative to Terraform, OpenTofu is available to install on a variety of operating systems:
- Alpine Linux
- Ubuntu/Debian
- RHEl/Suse/Fedora
- Linux
- MacOS
Founding partner Spacelift offers native and commercial support for all your OpenTofu needs.
The Most Flexible CI/CD Automation Tool
Spacelift is an alternative to using homegrown solutions on top of a generic CI. It helps overcome common state management issues and adds several must-have capabilities for infrastructure management.