Infrastructure as Code: Terraform 1.1 eröffnet native Cloud-Integration

HashiCorp liefert mit dem Minor Release die native Integration in die Terraform Cloud sowie einige neue Mechanismen für das Refactoring.

In Pocket speichern vorlesen Druckansicht 26 Kommentare lesen

(Bild: EFKS/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Matthias Parbel
Inhaltsverzeichnis

Ein halbes Jahr nachdem HashiCorp den ersten Meilenstein seiner Infrastructure-as-Code-Plattform vorgelegt hat, folgt mit Terraform 1.1 nun das erste Minor Release. Neben der vollständigen nativen Integration in die Terraform Cloud hat das Update unter anderem einige Neuerungen für das Refactoring in Modulen im Gepäck.

Entwicklerinnen und Entwickler, die Terraform mit der Cloud verbinden wollten, mussten dazu bisher eine Remote-Ressource einrichten. Ab Version 1.1 besteht die Möglichkeit, in den Einstellungen einen cloud-Block zu ergänzen, der dann auch den Einsatz der CLI erlaubt. Auf diese Weise lassen sich nicht nur Eingabevariablen an die Terraform Cloud übergeben, sondern auch sämtliche CLI-basierten Workflows vereinfachen. Mit dem Flag -var lassen sich beispielsweise Variablen für einen einzigen Durchlauf kennzeichnen.

Das Workspace-Management soll sich dank dedizierter Workspace-Tags ebenfalls erleichtern, beispielsweise wenn es darum geht, Terraform Cloud Workspaces auf die aktuelle Konfiguration abzubilden. Die native Integration verspricht zudem aussagekräftigere Fehlermeldungen.

Nach dem in Verbindung mit der Migration von Objekten erforderlichen Upgrade eines Moduls mussten Entwicklerinnen und Entwickler stets den Befehl terraform state mv manuell ausführen. Die in Terraform 1.1 neu eingeführten move-Blöcke eröffnen nun beim Refactoring in Modulen die Möglichkeit, im Sourcecode des Moduls aufzuzeichnen, wenn sich die Adresse einer Ressource oder Ressourceninstanz geändert hat. Dadurch ist Terraform während der Planungsphase in der Lage, die bestehenden Objekte im Zustand automatisch auf die neuen Adressen zu migrieren. Das gilt zumindest für alle Fälle, in denen sich die Änderung als statische Konfiguration ausdrücken lässt. Für komplexere Szenarien, die sich nicht für eine deklarative Konfiguration eignen, können Entwicklerinnen und Entwickler weiterhin auf terraform state mv zurückgreifen.

Wenn immer Terraform das Löschen bestimmter Ressourceninstanzen vorschlägt, finden sich in terraform plan als auch terraform apply zusätzliche Anmerkungen, die erklären, warum Terraform diese Aktion vorgeschlagen hat. Verringern Anwenderinnen oder Anwender beispielsweise den Zählerstand im count-Argument einer Ressource, wird Terraform dies als Begründung anführen, wenn es vorschlägt, alle existierenden Objekte mit einem höheren Zählerstand zu löschen.

Terraform 1.1 ist ab sofort verfügbar. Ein vollständiger Überblick aller Neuerungen und Fehlerbereinigungen, inklusiven Hinweisen zum Upgrade der Vorgängerversion findet sich im Changelog auf GitHub. Dort liegen auch Binaries für gängige Betriebssysteme quelloffen unter der Mozilla Public License v2.0 zum Download bereit.

(map)