Esitatud on OpenTofu 1.7 väljaanne, mis jätkab avatud koodi baasplatvormi arendust infrastruktuuri haldamiseks ja automaatseks säilitamiseks Terraformi abil. OpenTofu arendust toetab Linux Foundationi organisatsioon, kasutades avatud haldusmudelit, kus osalevad projekte huvitatud ettevõtted ja entusiastid (projekti toetavad 161 ettevõtet ja 792 iseseisvat arendajat). Projekti kood on kirjutatud Go keeles ja levitatakse MPL 2.0 litsentsi alusel.
Fork loodi vastusena HashiCorpi otsusele viia enda tooted üle eraõiguslikule BSL 1.1 litsentsile, mis piirab koodi kasutamist pilvesüsteemides, mis konkureerivad HashiCorpi toodete ja teenustega. Litsentsi muutmise põhjuseks on soov säilitada oma arenduste rahastamine olukorras, kus traditsioonilised litsentsimudelid ei suuda takistada ettevõtteid, kes kasutavad HashiCorpi avatud lähtekoodi oma kaubanduslike pilveproduktide loomisel ilma ühisarendusest osavõtuta.
Platvormi saab kasutada infrastruktuuri loomisel, muutmisel ja versioonide haldamisel kontseptsiooni järgi 'infrastruktuur kui kood', kus süsteemide konfiguratsioon kirjeldatakse kõrgemal tasemel ja teema-orienteeritud keeles ning töödeldakse nagu koodi. OpenTofu toetab ressursside graafi loomist, mis määratleb kõik ressursi vahelised seosed, et tõhusalt läbi viia ressursside operatsioonide ja muudatuste teostamist arvestades sõltuvusi.
OpenTofu võimaldab ka antud konfigureerimise alusel genereerida teostusplaani (Execution Plan), mis võimaldab hinnata infrastruktuuri tegevusi enne nende tegelikku rakendamist. Komplitseerivad muudatused infrastruktuuris võivad toimuda automatiseeritult, minimaalsete administraatori sekkumistega, vältides seeläbi paljusid inimfaktori vigu. Samuti saab administraator täielikult jälgida, mida täpselt muudetakse ja millises järjekorras, kasutades antud teostusplaani ja ressursside graafi.
OpenTofu versiooni 1.7 muudatuste seas:
- Oluline failide oleku kaitsmine lõpp-punktide krüpteerimise abil. Krüpteerimine võimaldab välistada volitamata juurdepääsu nendele failidele ebausaldusväärsetes salvestuslahendustes. Krüpteerimise parool võib olla määratud keskkonnamuutujate või võtmehaldusüsteemide, näiteks AWS KMS, GCP KMS ja OpenBao abil.
- Dünaamiliste funktsioonide tugi, mida määratleb teenusepakkuja. Antud võimalus võimaldab teenusepakkujal pakkuda mitte ainult ressursse, vaid ka funktsioone OpenTofu koodis kasutamiseks. Veelgi enam, teenusepakkuja saab funktsioone dünaamiliselt määrata, sõltuvalt kasutaja konfiguratsioonist. Esitatud funktsionaalsuse tugi on juba lisatud katsepakkujate Lua ja Go jaoks.
- Realiseeritud deklaratiivsed kustutamisoperatsioonid, mis võimaldavad märkida ressursi, et see kustutada olekufailist, kuid jätta see loodud infrastruktuuri.
- Võime kasutada 'for_each' sildu importblokkides, et lihtsustada mitme tüübi ressursi importimist.
Allikas: opennet.ru
