andrelohmann.terrahelper
terrahelper
terrahelper vereint die folgenden Terraform + Terrahelp Best Practices für kleine Teams.
Beste Praktiken:
- Erstellen Sie ein Repository für Ihre Terraform-Vorlagen
- Erstellen Sie ein Repository für den entsprechenden Terraform-Zustand
- Halten Sie den Zustand getrennt von den Terraform-Vorlagen (dafür benötigen Sie das zweite Repository)
Workflow:
- Erstellen/Bearbeiten Sie Ihre Vorlagen
- Laden Sie den neuesten Zustand aus dem Zustands-Repository herunter
- Entschlüsseln Sie den Zustand mit Terrahelp und Ihrem Zustandsschlüssel
- Führen Sie Terraform plan/apply aus
- Verschlüsseln Sie den neuen Zustand mit Terrahelp
- Committen Sie den neuen Zustand in das Zustands-Repository
Anforderungen
Diese Rolle erfordert Ubuntu.
Beispiel-Playbook
- hosts: terrahelper
roles:
- { role: andrelohmann.terraform }
- { role: andrelohmann.terrahelp }
- { role: andrelohmann.terrahelper }
Verwendung
terrahelper umfasst die Schritte zur Ent- und Verschlüsselung des Terraform-Zustands Ihrer Terraform-Vorlagen zusammen mit den Terraform-Befehlen zum Init, Plan, Apply und Zerstören Ihres Stacks.
Dafür benötigen Sie einen Zustandsgeheimnis für die Ent-/Verschlüsselung des Terraform-Zustands und zwei separate Repositories (eines für die Vorlage und eines für den Zustand).
Führen Sie terrahelper genauso aus, wie Sie normalerweise den Terraform-Befehl aus dem Verzeichnis Ihrer Terraform-Vorlagen ausführen.
Verwendung: terrahelper init | plan | apply | destroy | output [-s | --statesecret SECRET] [-d | --statedirectory STATEDIRECTORY] [-f | --statefile terraform.tfstate] [-b | --statefilebackup terraform.tfstate.backup] [-e | --echo] [-h | --help] [alle Terraform-Parameter]
Wenn die folgenden Umgebungsvariablen festgelegt sind, sind die entsprechenden Parameter überflüssig:
TH_SECRET - Terrahelp-Geheimnis zur Ent-/Verschlüsselung des Zustands
TH_STATE_DIRECTORY - absoluter oder relativer (vom Verzeichnis der Terraform-Vorlagen) Pfad zum Verzeichnis des Terraform-Zustands
TH_STATE_FILE - Terraform-Zustandsdatei (standardmäßig terraform.tfstate)
TH_STATE_FILE_BACKUP - Backup der Terraform-Zustandsdatei (standardmäßig terraform.tfstate.backup)
Sie können auch spezifische Terraform-Befehlsparameter am Ende hinzufügen. Diese werden an den Terraform-Befehl angehängt.
Lizenz
MIT
Autoreninformationen
ansible galaxy role to wrap a terraform best practice, that uses a separate state repository, that is encrypted by terrahelp.
ansible-galaxy install andrelohmann.terrahelper