tflint: インストール

tflintのReleasesページからDLしてunzip

1
2
3
4
$ wget -O tflint.zip https://github.com/terraform-linters/tflint/releases/download/v0.38.1/tflint_linux_amd64.zip
$ unzip tflint.zip
Archive: tflint.zip
inflating: tflint

PATHの通った所に置き、実行権限付与

1
2
$ mv tflint ~/bin
$ chmod +x ~/bin/tflint

tflint: AWS向けの設定をする

ホームディレクトリなどに ~/.tflint.hcl ファイルを以下のように作成(最新バージョンは terraform-linters/tflint-ruleset-awsで確認)

1
$ cat ~/.tflint.hcl
1
2
3
4
5
plugin "aws" {
enabled = true
version = "0.15.0"
source = "github.com/terraform-linters/tflint-ruleset-aws"
}

以下を実行

1
$ tflint --init

tflint: 実行してみる

手元にある terraform initしたディレクトリで tflintを実行してみる

1
$ tflint

なにか物申したい箇所があると以下のように教えてくれます

1
2
3
4
5
6
Error: Unsupported block type

on main.tf line 2, in terraform:
2: cloud {

Blocks of type "cloud" are not expected here

ワンライナーで一括実行する

.terraformディレクトリのあるディレクトリを再帰的に探して tflintを実行するワンライナー

1
$ find . -type d -name "\.terraform" -print | sed 's/.terraform//' | xargs -IXXX tflint XXX