]> Frank Brehm's Git Trees - pixelpark/create-terraform.git/commitdiff
Weiter mit Überarbeitung README.md
authorFrank Brehm <frank.brehm@pixelpark.com>
Fri, 3 Jan 2020 14:59:36 +0000 (15:59 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Fri, 3 Jan 2020 14:59:36 +0000 (15:59 +0100)
README.md

index 5df6179a013702234d55147cf992b135931a96d2..0965e63d07a5ee73dfcf830d87a454eabea06c31 100644 (file)
--- a/README.md
+++ b/README.md
@@ -274,13 +274,28 @@ auskommentierten Einträge in der _create-terraform.ini.default_ sind). Aber es
 ## 2. Arbeit mit Provisionierungs-Projekten
 
 Jedes Provisionierungs-Projekt wird in einer einzelnen Projekt-Datei beschrieben, welche im YAML-Format vorliegen muss
-(später vorgesehen: JSON bzw. Hjson). Bei der Ausführung der Projekt-Datei wird ein Verzeichnis unterhalb
-von _'terraform'_ neu angelegt, welches so heißt wie die Projekt-Datei ohne ihre Endung. Wenn es dieses Verzeichnis
-schon geben sollte und es ist leer, wird es natürlich verwendet. Wenn es nicht leer ist, werden normalerweise alle
-Dateien und Verzeichnisse darin mit Beginn der Ausführung gelöscht, außer es existieren darin das Verzeicnis _'.terraform'_
-und die Datei _'terraform.tfstate'_, was darauf hindeutet, dass darin schon einmal terraform erfolgreich ausgeführt wurde.
+(später vorgesehen: JSON bzw. Hjson). Diese YAML-Dateien können hierarchisch in verschachtelten Unterverzeichnissen
+organisiert werden. Bei der Ausführung der Projekt-Datei wird ein Verzeichnis parallel zur YAML-Datei neu angelegt,
+welches so heißt wie die Projekt-Datei ohne ihre Endung. Wenn es dieses Verzeichnis schon geben sollte und es ist leer,
+wird es natürlich verwendet. Wenn es nicht leer ist, werden normalerweise alle Dateien und Verzeichnisse darin mit
+Beginn der Ausführung gelöscht, außer es existieren darin das Verzeicnis _'.terraform'_ und die Datei _'terraform.tfstate'_,
+was darauf hindeutet, dass darin schon einmal terraform erfolgreich ausgeführt wurde.
 Im letzteren Fall bricht die Ausführung mit einer Fehlermeldung ab.
 
+### 2.1. Aufbau einer Provisionierungs-Projekt-Datei
+
+Grundsätzlich ist die Projekt-Datei so angelegt, dass sich Konfigurations-Angaben möglichst nicht wiederholen.
+
+Dazu gibt es Default-Angaben, die man bei einzelnen VMs bei Bedarf überschreiben kann.
+
+Weiterhin kann man die VM-Definitionen gruppieren und jeder Gruppe separate Default-Werte zuweisen, welche die globalen
+Default-Werte für diese Gruppe überschreiben. Diese Gruppierungen können auch weiter verschachtelt werden
+(Gruppe in Gruppe in Gruppe usw.).
+
+Mit dem Schüssel **'defaults'** werden entweder auf oberster Ebene oder innerhalb einer Gruppe die Vorgabewerte
+definiert. Es können alle Werte bis auf den Hostnamen und die IP-Adressen vorbelegt werden. Für alle diese Werte
+gibt es aber auch vordefinierte (hoffentlich sinnvolle) Werte, falls man diese komplett vergißt.
+
 
 ```