Terraform

Ein Tool um eine allgemeine Konfiguration zu erstellen die eine Infrastruktur aufbaut. Es werden alle Konfigurationsdateien innerhalb eines Verzeichnis gesammelt und zusammengestellt. Die Dateien werden in HCL (Hashicorp Configuration Language) geschrieben, was sich an JSON orientiert.

Eine einfach Konfiguration simpleapp.tf für eine Heroku Applikation.

Es wird ein Kommando geboten um die Konfigurationsdateien zu formatieren.

Man hat die Möglichkeit mit der Konfiguration zu planen und diesen Plan zu speichern.

Mit apply wird basierend auf der Konfiguration die Infrastruktur aufgebaut.
Soll ein gespeicherter Plan ausgeführt werden wird dieser angehängt.

Die Infrastruktur kann mit destroy und einer Bestätigung wieder entfernt werden.

Es können zusätzliche Ausgaben mit Outputs definiert werden.

Die Outputs werden ausgegeben wenn Terraform durchgelaufen ist.

Terraform merkt sich den Status der Infrastruktur und speichert diesen in der Datei terraform.tfstate. Mit dem state Kommando kann man sich eine Liste der Namen oder weitere Informationen anzeigen lassen.