個人環境で、OCI(Oracle Cloud Infrastructure) の無料枠を terraform でデプロイしています。
GitHub - ymmmtym/terraform-cloud-oci: https://console.ap-tokyo-1.oraclecloud.com/
Terraform Cloud では tfstate とクレデンシャル情報を管理しており、GitHub に PR(merge) すると GitHub Acitons より terraform plan(terraform apply) が実行されます。
実装方法としては、API-driven workflow を採用しており、GitHub に
以下の記事に詳しく記載されています。
GitHub Actions × Terraform Cloud | 株式会社AI Shift
GitHub と連携しているため、terraform コマンドを実行するためには GitHub に操作を加える必要があります。 1
もしくは、Terraform Cloud の管理画面より手動で実行する必要があります。
検証環境であれば、もう少し気軽に試したいと思い、ローカルで実行できる方法を探しました。
terraform.rc
or .terraformrc
ファイルに以下のような形で API_TOKEN を書くと、terraform cloud にある tfstate を参照してローカルで動作させる事ができます。
credentials "app.terraform.io" {
token = "xxxxxx.atlasv1.zzzzzzzzzzzzz"
}
GitHub Actions workflow_dispatch の設定してみる | yumenomatayume's Blog より、workflow_dispatch で実行することもできます。
↩