Opentofu 1.7 was recently presented, continuing the development of the open code base of the configuration control platform and automation of infrastructure maintenance terraform. The development of Opentofu is under the Linux Foundation organization with an open management model involving a community of companies and enthusiasts interested in the project. In fact, 161 companies and 792 individual developers have announced their support for the project. The project code is written in Go and distributed under the license mpl 2.0.
The creation of Opentofu came in response to the transfer of its products to the Proprietary License BSL 1.1, which limits the use of code in cloud systems that compete with the products and services of Hashicorp. This change in license was made to maintain financing for developments due to the parasitization of companies using Hashicorp’s development texts to create their own commercial cloud products without participating in joint development efforts.
The platform enables users to build, modify, and version infrastructure according to the concept of Infrastructure as Code, which describes system configuration in a high-level language and processes it similarly to code. Opentofu can generate an execution plan based on a given configuration to evaluate actions on the infrastructure before applying them.
Opentofu also supports the construction of a resource graph that outlines connections between resources for efficient operation decomposition and changes considering dependencies. Complex infrastructure changes can be automated with minimal administrator involvement to mitigate human errors. Administrators can track changes and their order using the provided plan and resource graph.
Some changes in Opentofu 1.7 include:
- Opportunities to protect important states through encryption, ensuring outsiders are unable to access sensitive files stored in unreliable storage backends. Encryption passwords can be set using environmental variables or key control systems like AWS KMS, GCP KMS, and Openbao.
- Support for provider-defined functions.