From 364aeff2939762dbe3c57aa9b6ece4890b4bb69f Mon Sep 17 00:00:00 2001 From: Frank Brehm Date: Fri, 3 Jan 2020 15:59:36 +0100 Subject: [PATCH] =?utf8?q?Weiter=20mit=20=C3=9Cberarbeitung=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- README.md | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) 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. + ``` -- 2.39.5