Predstavljen je izdanak projekta OpenTofu 1.7, koji nastavlja razvoj otvorene kodne baze platforme za upravljanje konfiguracijom i automatizaciju održavanja infrastrukture Terraform. Razvoj OpenTofu-a se provodi pod okriljem organizacije Linux Foundation, koristeći otvoreni model upravljanja uz sudjelovanje zajednice sastavljene od zainteresiranih tvrtki i entuzijasta (o podršci projektu je objavilo 161 tvrtka i 792 pojedinačnih programera). Kod projekta je napisan na jeziku Go i distribuira se pod licencom MPL 2.0.
Fork je nastao kao odgovor na prelazak tvrtke HashiCorp na vlasničku licencu BSL 1.1, koja ograničava korištenje koda u oblačnim sustavima koji konkuriraju proizvodima i uslugama HashiCorp-a. Promjena licence objašnjava se željom da se očuva financiranje svojih razvoja u uvjetima nesposobnosti klasičnih modela licenciranja da se suprotstave parazitirajućim tvrtkama koje koriste gotove otvorene izvore razvoja HashiCorp-a za izradu vlastitih komercijalnih oblačnih proizvoda bez sudjelovanja u zajedničkom razvoju.
Platforma se može koristiti za izgradnju, izmjenu i verzioniranje infrastrukture u skladu s konceptom infrastrukture kao koda, pri čemu se konfiguracija sustava opisuje na visokom razini u predmetno orijentiranom jeziku i obrađuje analogno kodu. OpenTofu podržava izgradnju grafa resursa, koji određuje sve veze između resursa za učinkovito paralelno izvršavanje operacija nad resursima i uvođenje promjena uzimajući u obzir ovisnosti.
OpenTofu također omogućuje na temelju zadanih konfiguracija generiranje plana izvršenja (Execution Plan), koji omogućuje procjenu radnji s infrastrukturom prije njihova stvarnog primjene. Složene promjene u infrastrukturi se mogu provoditi automatizirano, uz minimalno sudjelovanje administratora, što pomaže u izbjegavanju mnogih grešaka uzrokovanih ljudskim faktorom. Pri tome administrator može potpuno pratiti što će točno biti promijenjeno i kojim redoslijedom, koristeći pružene plan izvršenja i graf resursa.
Među promjenama u verziji OpenTofu 1.7:
- Mogućnost zaštite važnih datoteka stanja korištenjem end-to-end enkripcije. Enkripcija omogućuje isključenje pristupa neovlaštenih lica tim datotekama prilikom korištenja skladišnih backendova koji nisu pouzdani. Lozinka za enkripciju može se postaviti korištenjem varijabli okruženja ili sustava za upravljanje ključevima, kao što su AWS KMS, GCP KMS i OpenBao.
- Podrška za dinamičke funkcije koje određuje pružatelj. Ova mogućnost omogućuje pružatelju da nudi ne samo resurse, već i funkcije za korištenje u OpenTofu kodu. Štoviše, funkcije se mogu dinamički definirati od strane pružatelja, ovisno o korisničkoj konfiguraciji. Podrška za ovu funkcionalnost već je dodana eksperimentalnim pružateljima Lua i Go.
- Implementirane su deklarativne operacije brisanja koje omogućuju označavanje resursa za brisanje iz datoteke stanja, dok se on zadržava u stvarnoj infrastrukturi.
- Mogućnost korištenja 'for_each' petlji u blokovima koji vrše uvoz, kako bi se pojednostavilo uvoz više standardnih resursa.
Izvor: opennet.ru
