Se ha presentado la versión 1.7 del proyecto OpenTofu, que continúa el desarrollo de la base de código abierta para la gestión de configuraciones y la automatización del mantenimiento de la infraestructura Terraform. El desarrollo de OpenTofu se lleva a cabo bajo el patrocinio de la organización Linux Foundation, utilizando un modelo de gestión abierto con la participación de una comunidad formada por empresas y entusiastas interesados en el proyecto (161 empresas y 792 desarrolladores individuales han declarado su apoyo al proyecto). El código del proyecto está escrito en el lenguaje Go y se distribuye bajo la licencia MPL 2.0.
El fork se creó en respuesta a la transición de la empresa HashiCorp de sus productos a una licencia propietaria BSL 1.1, que limita el uso del código en sistemas en la nube que compiten con los productos y servicios de HashiCorp. El cambio de licencia se explica por el deseo de mantener el financiamiento de sus desarrollos en un contexto donde los modelos de licencia tradicionales no pueden hacer frente a la parasitación de empresas que utilizan los códigos fuente abiertos de HashiCorp para crear sus propios productos comerciales en la nube sin participar en el desarrollo colaborativo.
La plataforma se puede utilizar para construir, modificar y versionar la infraestructura de acuerdo con el concepto de infraestructura como código, donde la configuración de los sistemas se describe en un lenguaje de alto nivel orientado a objetos y se procesa de manera similar al código. OpenTofu soporta la construcción de un grafo de recursos que define todas las relaciones entre los recursos para una paralelización eficiente de las operaciones sobre los recursos y la realización de cambios considerando las dependencias.
OpenTofu también permite, en función de la configuración dada, generar un plan de ejecución (Execution Plan) que permite evaluar las acciones sobre la infraestructura antes de su aplicación real a la misma. Los cambios complejos en la infraestructura pueden realizarse de manera automatizada, con una mínima intervención del administrador, lo que ayuda a evitar muchos errores causados por el factor humano. Al mismo tiempo, el administrador puede rastrear completamente qué se cambiará y en qué orden, utilizando el plan de ejecución y el grafo de recursos proporcionados.
Entre los cambios en la versión OpenTofu 1.7:
- La posibilidad de proteger archivos de estado importantes mediante cifrado de extremo a extremo. El cifrado evita el acceso de terceros a estos archivos de datos al utilizar backends de almacenamiento que no son de confianza. La contraseña para el cifrado puede establecerse utilizando variables de entorno o sistemas de gestión de claves, como AWS KMS, GCP KMS y OpenBao.
- Soporte para funciones dinámicas definidas por el proveedor. Esta capacidad permite al proveedor ofrecer no solo recursos, sino también funciones para su uso en el código de OpenTofu. Además, las funciones pueden ser definidas dinámicamente por el proveedor, dependiendo de la configuración del usuario. El soporte para esta funcionalidad ya ha sido agregado a los proveedores experimentales de Lua y Go.
- Se han implementado operaciones declarativas de eliminación, que permiten marcar un recurso para su eliminación del archivo de estado, pero mantenerlo en la infraestructura creada.
- La capacidad de aplicar ciclos «for_each» en bloques que realizan importaciones, para facilitar la importación de múltiples recursos de tipo estándar.
Fuente: opennet.ru
