個人環境で、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 を使ってみる

terraform.rc or .terraformrc ファイルに以下のような形で API_TOKEN を書くと、terraform cloud にある tfstate を参照してローカルで動作させる事ができます。

credentials "app.terraform.io" {
  token = "xxxxxx.atlasv1.zzzzzzzzzzzzz"
}

Reference


  1. GitHub Actions workflow_dispatch の設定してみる | yumenomatayume's Blog より、workflow_dispatch で実行することもできます。