본문 바로가기

IaC/Terraform

[Terraform]Install Terraform on Mac M1

Install Terraform with homebrew doc
https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli#install-terraform

terraform git
https://github.com/hashicorp/terraform

brew option

tap

  • directory (and usually Git repository) of formulae, casks and/or external commands

Install Terraform with homebrew

# brew tap, homebrew에 pacakge를 저장
brew tap hashicorp/tap

# terraform 설치
brew install hashicorp/tap/terraform

# to update to the latest version of terraform, update homebrew
brew update

# download and use latest terraform
brew upgrade hashicorp/tap/terraform

Enable tab completion on Mac

Enable tab completion on Mac doc
https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli#enable-tab-completion

  • install autocomplate
terraform -install-autocomplete
  • .zshrc file에 아래와 같은 내용을 추가한다.
$ tail ~/.zshrc

autoload -U +X bashcompinit && bashcompinit
complete -o nospace -C /usr/local/bin/terraform terraform

$ source ~/.zshrc
  • 이제 tab 명령어를 통해 terraform 자동완성 기능을 사용할 수 있다.

테라폼 캐시 설정

Terraform CLI Configuration File doc
https://developer.hashicorp.com/terraform/cli/config/config-file

  • plugin_cache_dir — enables plugin caching and specifies, as a string, the location of the plugin cache directory.
    • local dir를 shared plugin cache가 설정된 dir를 설정할 수 있다.
      • 각 워크스페이스에서 필요로하는 프로바이더나 모듈을 다운받게 된다.
    • 해당 설정을 하지 않으면 워크스페이스에 받게 되는데,
    • 해당 설정을 통해 테라폼 캐시 저장 공간을 중앙집중식으로 효율적으로 관리할 수 있다.
      • 동일 플러그인을 한번만 설치하도록 설정
touch ~/.terraformrc
echo 'plugin_cache_dir   = "$HOME/.terraform.d/plugin-cache"' >> ~/.terraformrc
mkdir -pv ~/.terraform.d/plugin-cache
/Users/dewble/.terraform.d/plugin-cache