Az OpenTofu egy nyílt forráskódú infrastructure-as-code eszköz, amellyel deklaratív módon lehet felhős és helyben futó erőforrásokat definiálni, létrehozni és kezelni. A Terraform közösségi forkjaként fejlesztik. Most megjelent az 1.12-es kiadás, amely több ponton is egyszerűsíti a munkafolyamatokat.
A legfontosabb újdonság, hogy a
prevent_destroy
lifecycle argumentum – amely megakadályozza a kezelt erőforrások véletlen törlését – mostantól dinamikusan is beállítható. Korábban ezt az értéket csak fixen, kódban lehetett megadni. Az OpenTofu 1.12-ben már ugyanazon modulon belüli értékekre, például bemeneti változókra is lehet hivatkozni. A fejlesztők szerint ez az első a több lifecycle beállítás közül, amelyeket a jövőbeli kiadásokban dinamikusabbá szeretnének tenni.
A kiadás a provider checksum kezelését is továbbfejleszti. A
tofu init
parancs mostantól automatikusan rögzíti az összes platformhoz tartozó teljes checksumot
zh:
és
h1:
hashekkel is. Így ritkábban kell külön lefuttatni a
tofu providers lock
parancsot olyan környezetekben, ahol megosztott plugin cache-t vagy helyi provider tükröket használnak.
Új lehetőség a
-json-into=FILENAME
opció, amellyel a parancsok gépek által feldolgozható JSON kimenetet tudnak egy külön fájlba írni, miközben a terminálon megmarad az emberi olvasásra szánt, szokásos szöveges kimenet. Ez azoknak az eszközöknek kedvez, amelyek JSON kimenetet igényelnek, de nem akarják lecserélni a CLI felületet.
További lifecycle újdonság a kezelt erőforrásokhoz tartozó
destroy = false
opció. Ezzel az objektumokat úgy lehet eltávolítani az OpenTofu state-ből, hogy előtte nem kell törölni a távoli erőforrást.
Bizonyos konfigurációkban gyorsabb lett a provider telepítés is, mivel az OpenTofu párhuzamos kéréseket használ a telepítés során. Ez lerövidíti a
tofu init
futási idejét, ha a konfiguráció több providerre támaszkodik.
A kiadás két elavulásra vonatkozó figyelmeztetést is tartalmaz. A provisioner WinRM támogatása elavultnak számít, mivel a kapcsolódó Go könyvtárakat már nem tartják karban. Az OpenTofu 1.12 figyelmeztetést jelenít meg azoknál a konfigurációknál, amelyek
connection
blokkokban
type = "winrm"
beállítást használnak, a funkció azonban egyelőre tovább működik. A projekt az OpenTofu 1.13-as sorozatában tervezi végleg eltávolítani a WinRM támogatást.
Ezzel párhuzamosan az OpenTofu készül a 32 bites CPU architektúrák – konkrétan az 386 és ARM – hivatalos buildjeinek kivezetésére. Az OpenTofu 1.12 még nem változtat a CPU támogatáson, de a jövőbeli 1.13-as buildek már figyelmeztetést fognak megjeleníteni 32 bites rendszereken, mielőtt egy későbbi kiadásban megszűnik a támogatás. Az amd64 és arm64 támogatása változatlan marad.
További részletekért olvasd el a bejelentést. Az OpenTofu 1.12 már elérhető a projekt GitHub releases oldalán, a támogatott csomagkezelőkön keresztül, valamint hivatalos Docker image-ként.

