A fost lansată versiunea 1.7 a proiectului OpenTofu, care continuă dezvoltarea bazei de cod deschis pentru platforma de gestionare a configurației și automatizarea întreținerii infrastructurii Terraform. Dezvoltarea OpenTofu se desfășoară sub egida organizației Linux Foundation, folosind un model de gestionare deschis, cu participarea unei comunități formate din companii interesate de proiect și entuziaști (suportul pentru proiect a fost anunțat de 161 de companii și 792 de dezvoltatori individuali). Codul proiectului este scris în limbajul Go și se distribuie sub licența MPL 2.0.
Fork-ul a fost creat ca răspuns la trecerea companiei HashiCorp a produselor sale la o licență proprietară BSL 1.1, care limitează utilizarea codului în sistemele cloud care concurează cu produsele și serviciile HashiCorp. Schimbarea licenței este explicată prin dorința de a menține finanțarea dezvoltărilor sale în condițiile în care modelele clasice de licențiere nu fac față parazitării companiilor care folosesc codul sursă deschis al dezvoltărilor HashiCorp pentru a crea propriile produse cloud comerciale fără a participa la dezvoltarea comună.
Platforma poate fi utilizată pentru construirea, modificarea și versionarea infrastructurii conform conceptului de infrastructură ca cod, în care configurația sistemelor este descrisă într-un limbaj de nivel înalt orientat pe domenii și este procesată similar cu codul. OpenTofu suportă construirea unui grafic de resurse, care definește toate conexiunile între resurse pentru o desfășurare eficientă a operațiunilor asupra resurselor și pentru efectuarea modificărilor ținând cont de dependențe.
OpenTofu permite, de asemenea, generarea unui plan de execuție pe baza configurației date, care permite evaluarea acțiunilor asupra infrastructurii înainte de aplicarea efectivă a acestora. Modificările complexe ale infrastructurii pot fi realizate automatizat, cu un minim de implicare din partea administratorului, ceea ce permite evitarea multor erori cauzate de factorul uman. În acest context, administratorul poate urmări în întregime ce anume va fi modificat și în ce ordine, folosind planul de execuție și graficul de resurse furnizate.
Printre schimbările din versiunea OpenTofu 1.7:
- Capacitatea de a proteja fișierele importante de stare prin utilizarea criptării de la un capăt la celălalt. Criptarea permite excluderea accesului persoanelor neautorizate la aceste fișiere atunci când se utilizează backend-uri de stocare care nu sunt de încredere. Parola pentru criptare poate fi setată folosind variabile de mediu sau sisteme de gestionare a cheilor, precum AWS KMS, GCP KMS și OpenBao.
- Suport pentru funcții dinamice definite de furnizor. Această capacitate permite furnizorului să ofere nu doar resurse, ci și funcționalități pentru utilizare în codul OpenTofu. Mai mult, funcțiile pot fi definite dinamic de către furnizor, în funcție de configurația utilizatorului. Suportul pentru această funcționalitate a fost deja adăugat la furnizorii experimentali Lua și Go.
- Au fost implementate operațiuni declarative de ștergere, care permit marcarea unui resurs pentru ștergere din fișierul de stare, menținându-l în infrastructura creată.
- Capacitatea de a aplica bucle «for_each» în blocuri care efectuează importuri, pentru a simplifica importul mai multor tipuri de resurse.
Sursa: opennet.ro
