andrelohmann.terrahelper

terrahelper

ビルドステータス

terrahelperは小規模チーム向けの、以下のTerraformとTerrahelpのベストプラクティスをまとめたものです。

ベストプラクティス:

  • Terraformテンプレートファイルのためのリポジトリを作成する
  • Terraform状態のためのリポジトリを作成する
  • 状態をTerraformテンプレートのフォルダから分けて管理する(そのために2つ目のリポジトリが必要です)

ワークフロー:

  • テンプレートを作成/編集する
  • 状態リポジトリから最新の状態を取得する
  • Terrahelpと状態の秘密を使用して状態を復号化する
  • Terraform plan/applyを実行する
  • Terrahelpを使用して新しい状態を暗号化する
  • 新しい状態を状態リポジトリにコミットする

要件

このロールはUbuntuを必要とします。

例のプレイブック

- hosts: terrahelper
  roles:
    - { role: andrelohmann.terraform }
    - { role: andrelohmann.terrahelpe }
    - { role: andrelohmann.terrahelper }

使用法

terrahelperは、TerraformテンプレートのTerraform状態を復号化および暗号化する手順と、スタックを初期化、計画、適用、および削除するためのTerraformコマンドをまとめたものです。

そのため、Terraform状態の暗号化/復号化のために状態秘密が必要で、2つの別々のリポジトリが必要です(1つはテンプレート用、もう1つは状態用)。

terrahelperは、通常Terraformテンプレートディレクトリ内からTerraformコマンドを実行するのと同じ方法で実行します。

使い方: 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] [任意のTerraformパラメータ]

以下の環境変数が設定されている場合、該当のパラメータは不要です:

TH_SECRET - 状態の暗号化/復号化に使用するTerrahelpの秘密

TH_STATE_DIRECTORY - Terraformテンプレートディレクトリからの絶対パスまたは相対パスのTerraform状態ディレクトリ

TH_STATE_FILE - Terraform状態ファイル(デフォルトはterraform.tfstate)

TH_STATE_FILE_BACKUP - Terraform状態ファイルのバックアップ(デフォルトはterraform.tfstate.backup)

任意のTerraformコマンドの特定のパラメータを末尾に追加することもできます。それらはTerraformコマンドに付加されます。

ライセンス

MIT

著者情報

https://github.com/andrelohmann

プロジェクトについて

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
ライセンス
mit
ダウンロード
187
所有者