La prima release stabile di OpenTOFU porta con se le motivazioni dietro al fork di Terraform

0

Lo scorso dieci gennaio è stata annunciata la prima release 1.6 GA (General Availability) del fork di Terraform chiamato OpenTOFU, il progetto promosso e sostenuto dalla Linux Foundation immediatamente dopo l’annuncio del cambio di licenza da parte di Hashicorp.

La release di gennaio era stata anticipata da un articolo in dicembre sempre sul blog del progetto che descriveva la timeline prevista mediante uno animatissimo schema:

An animated graphic visualizing the history of OpenTofu. August 10, 2023: Terraform shifts to Business Source License. August 15: OpenTF manifesto goes live. August 25: OpenTF is announced. August 31: Manifesto surges to 30k GitHub stars. September 5: OpenTF repo goes public. September 20: OpenTF joins the Linux Foundation as OpenTofu. October 4: Alpha released. November 29: Beta released. December 20: Stable release candidate. January 10, 2024: General availability.

È interessante notare un dato sulle tempistiche: dall’annuncio del passaggio di Terraform a licenza BSL (Business Source License, quindi non open-source) alla creazione del manifesto di OpenTF (che poi diventerà OpenTOFU) passano solamente cinque giorni, e quindici in tutto all’annuncio di OpenTF.

Una prontezza davvero notevole per un progetto open-source, o verosimilmente segreto di Pulcinella, al lettore la scelta.

Tornando all’annuncio della release GA, oltre alla fornitura di istruzioni dettagliate per la migrazione da Terraform, viene manifestata la volontà di non creare, almeno nell’immediato, grosse differenze con Terraform:

[…] we’re aiming to maintain a reasonable amount of compatibility with Terraform where it makes sense

[…] vogliamo mantenere un ragionevole grado di compatibilità con Terraform dove ha un senso

Aggiungendo poi che non verranno introdotte variazioni sensibili nei provider o nel DSL (Domain-Specific Language, di fatto il codice con cui i manifest Terraform vengono scritti).

Altra parte importante dell’annuncio è quella invece relative alle aggiunte che verranno e per le quali questa GA rappresenta il punto di partenza.

Su tutte, viene menzionata la client-side state encryption. Terraform può memorizzare le informazioni sullo stato dell’infrastruttura in un file locale. La Client-side state encryption assicura che questo file di stato sia crittografato sulla macchina dell’utente prima di essere trasmesso o archiviato in un backend remoto, come ad esempio un bucket di Amazon S3. Ciò aiuta a proteggere le informazioni sensibili, come le credenziali, all’interno del file di stato durante il suo transito o la sua memorizzazione remota, garantendo una maggiore sicurezza nel processo di gestione dell’infrastruttura tramite Terraform.

Leggendo l’articolo, si percepisce quanto dentro questa feature sia racchiuso tutto il senso di OpenTOFU, infatti l’autore della patch ha cercato per anni di proporla ad Hashicorp, senza essere considerato, e con l’arrivo di OpenTOFU questa ha potuto essere invece ripulita e preparata per la sua inclusione nella prossima versione 1.7.

I fork in fondo servono a questo, ed il prezzo da pagare sarà, come abbiamo ampiamente affrontato nel recente passato, una inevitabile frammentazione delle tecnologie, dei tool e, prima o dopo, anche dei linguaggi che le definiscono.

Croce e delizia dell’open-source.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.