andrelohmann.terrahelper

terrahelper

Bauzustand

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

https://github.com/andrelohmann

Über das Projekt

ansible galaxy role to wrap a terraform best practice, that uses a separate state repository, that is encrypted by terrahelp.

Installieren
ansible-galaxy install andrelohmann.terrahelper
GitHub Repository
Lizenz
mit
Downloads
187
Besitzer