メインコンテンツまでスキップ

terraform

infra-core に含まれる Terraform に関するディレクトリについての説明。

ディレクトリ構造

以下のような構造となっている。

$ tree -L 1 terraform/
terraform/
├── secrets
├── terraform-cloudflare-access
├── terraform-cloudflare-tunnel
├── terraform-dns
├── terraform-oraclecloud
└── terraform-proxmox

terraform-* は git submodule として管理されている。

  • terraform-cloudflare-access
    • Cloudflare Access に関する terraform コードを管理するディレクトリ
  • terraform-cloudflare-tunnel
    • Cloudflare Tunnel に関する terraform コードを管理するディレクトリ
  • terraform-dns
    • DNS に関する terraform コードを管理するディレクトリ
  • terraform-oraclecloud
    • Oracle Cloud に関する terraform コードを管理するディレクトリ
  • terraform-proxmox
    • Proxmox に関する terraform コードを管理するディレクトリ

実行方法

いずれのディレクトリも GitHub への push により terraform が実行されるようになっている。 CI/CD は terraform cloud を使用している。

ヒント

ローカルで実行したいこともあるかもしれない。その場合は以下のように実行する。

cd terraform/terraform-proxmox
cd environments/$ENV
terraform init
terraform plan
terraform apply

環境によっては terraform.tfvars が必要だったり、terraform cloud の設定が必要だったりするので注意すること。