From: Frank Brehm Date: Fri, 3 Jan 2020 14:59:36 +0000 (+0100) Subject: Weiter mit Überarbeitung README.md X-Git-Tag: 1.4.6~2^2~10 X-Git-Url: https://git.uhu-banane.de/?a=commitdiff_plain;h=364aeff2939762dbe3c57aa9b6ece4890b4bb69f;p=pixelpark%2Fcreate-terraform.git Weiter mit Überarbeitung README.md --- diff --git a/README.md b/README.md index 5df6179..0965e63 100644 --- 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. + ```