@@ -83,43 +83,6 @@ If you want to support the development of `pre-commit-terraform` and [many other
83
83
## How to install
84
84
85
85
### 1. Install dependencies
86
- <!-- (Do not remove html tags here) -->
87
- * [ ` pre-commit ` ] ( https://pre-commit.com/#install ) ,
88
- <sub ><sup >[ ` terraform ` ] ( https://www.terraform.io/downloads.html ) or [ ` opentofu ` ] ( https://opentofu.org/docs/intro/install/ ) ,
89
- <sub ><sup >[ ` git ` ] ( https://git-scm.com/downloads ) ,
90
- <sub ><sup >[ BASH ` 3.2.57 ` or newer] ( https://www.gnu.org/software/bash/#download ) ,
91
- <sub ><sup >Internet connection (on first run),
92
- <sub ><sup >x86_64 or arm64 compatible operating system,
93
- <sub ><sup >Some hardware where this OS will run,
94
- <sub ><sup >Electricity for hardware and internet connection,
95
- <sub ><sup >Some basic physical laws,
96
- <sub ><sup >Hope that it all will work.
97
- </sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ><br ><br >
98
- * [ ` checkov ` ] [ checkov repo ] required for ` terraform_checkov ` hook
99
- * [ ` terraform-docs ` ] [ terraform-docs repo ] 0.12.0+ required for ` terraform_docs ` hook
100
- * [ ` terragrunt ` ] [ terragrunt repo ] required for ` terragrunt_validate ` and ` terragrunt_valid_inputs ` hooks
101
- * [ ` terrascan ` ] [ terrascan repo ] required for ` terrascan ` hook
102
- * [ ` TFLint ` ] [ tflint repo ] required for ` terraform_tflint ` hook
103
- * [ ` TFSec ` ] [ tfsec repo ] required for ` terraform_tfsec ` hook
104
- * [ ` Trivy ` ] [ trivy repo ] required for ` terraform_trivy ` hook
105
- * [ ` infracost ` ] [ infracost repo ] required for ` infracost_breakdown ` hook
106
- * [ ` jq ` ] [ jq repo ] required for ` terraform_validate ` with ` --retry-once-with-cleanup ` flag, and for ` infracost_breakdown ` hook
107
- * [ ` tfupdate ` ] [ tfupdate repo ] required for ` tfupdate ` hook
108
- * [ ` hcledit ` ] [ hcledit repo ] required for ` terraform_wrapper_module_for_each ` hook
109
-
110
-
111
- #### 1.1 Custom Terraform binaries and OpenTofu support
112
-
113
- It is possible to set custom path to ` terraform ` binary.
114
- This makes it possible to use [ OpenTofu] ( https://opentofu.org ) binary ` tofu ` instead of ` terraform ` .
115
-
116
- How binary discovery works and how you can redefine it (first matched takes precedence):
117
-
118
- 1 . Check if per hook configuration ` --hook-config=--tf-path=<path_to_binary_or_binary_name> ` is set
119
- 2 . Check if ` PCT_TFPATH=<path_to_binary_or_binary_name> ` environment variable is set
120
- 3 . Check if ` TERRAGRUNT_TFPATH=<path_to_binary_or_binary_name> ` environment variable is set
121
- 4 . Check if ` terraform ` binary can be found in the user's $PATH
122
- 5 . Check if ` tofu ` binary can be found in the user's $PATH
123
86
124
87
<details ><summary ><b >Docker</b ></summary ><br >
125
88
@@ -249,6 +212,47 @@ E.g. `C:\Users\USERNAME\AppData\Local\Programs\Python\Python39\Lib\site-packages
249
212
250
213
</details >
251
214
215
+ Full list of dependencies and where they are used:
216
+
217
+ <!-- (Do not remove html tags here) -->
218
+ * [ ` pre-commit ` ] ( https://pre-commit.com/#install ) ,
219
+ <sub ><sup >[ ` terraform ` ] ( https://www.terraform.io/downloads.html ) or [ ` opentofu ` ] ( https://opentofu.org/docs/intro/install/ ) ,
220
+ <sub ><sup >[ ` git ` ] ( https://git-scm.com/downloads ) ,
221
+ <sub ><sup >[ BASH ` 3.2.57 ` or newer] ( https://www.gnu.org/software/bash/#download ) ,
222
+ <sub ><sup >Internet connection (on first run),
223
+ <sub ><sup >x86_64 or arm64 compatible operating system,
224
+ <sub ><sup >Some hardware where this OS will run,
225
+ <sub ><sup >Electricity for hardware and internet connection,
226
+ <sub ><sup >Some basic physical laws,
227
+ <sub ><sup >Hope that it all will work.
228
+ </sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ></sup ></sub ><br ><br >
229
+ * [ ` checkov ` ] [ checkov repo ] required for ` terraform_checkov ` hook
230
+ * [ ` terraform-docs ` ] [ terraform-docs repo ] 0.12.0+ required for ` terraform_docs ` hook
231
+ * [ ` terragrunt ` ] [ terragrunt repo ] required for ` terragrunt_validate ` and ` terragrunt_valid_inputs ` hooks
232
+ * [ ` terrascan ` ] [ terrascan repo ] required for ` terrascan ` hook
233
+ * [ ` TFLint ` ] [ tflint repo ] required for ` terraform_tflint ` hook
234
+ * [ ` TFSec ` ] [ tfsec repo ] required for ` terraform_tfsec ` hook
235
+ * [ ` Trivy ` ] [ trivy repo ] required for ` terraform_trivy ` hook
236
+ * [ ` infracost ` ] [ infracost repo ] required for ` infracost_breakdown ` hook
237
+ * [ ` jq ` ] [ jq repo ] required for ` terraform_validate ` with ` --retry-once-with-cleanup ` flag, and for ` infracost_breakdown ` hook
238
+ * [ ` tfupdate ` ] [ tfupdate repo ] required for ` tfupdate ` hook
239
+ * [ ` hcledit ` ] [ hcledit repo ] required for ` terraform_wrapper_module_for_each ` hook
240
+
241
+
242
+ #### 1.1 Custom Terraform binaries and OpenTofu support
243
+
244
+ It is possible to set custom path to ` terraform ` binary.
245
+ This makes it possible to use [ OpenTofu] ( https://opentofu.org ) binary (` tofu ` ) instead of ` terraform ` .
246
+
247
+ How binary discovery works and how you can redefine it (first matched takes precedence):
248
+
249
+ 1 . Check if per hook configuration ` --hook-config=--tf-path=<path_to_binary_or_binary_name> ` is set
250
+ 2 . Check if ` PCT_TFPATH=<path_to_binary_or_binary_name> ` environment variable is set
251
+ 3 . Check if ` TERRAGRUNT_TFPATH=<path_to_binary_or_binary_name> ` environment variable is set
252
+ 4 . Check if ` terraform ` binary can be found in the user's ` $PATH `
253
+ 5 . Check if ` tofu ` binary can be found in the user's ` $PATH `
254
+
255
+
252
256
### 2. Install the pre-commit hook globally
253
257
254
258
> [ !NOTE]
@@ -276,6 +280,14 @@ repos:
276
280
EOF
277
281
```
278
282
283
+ If this repository was initialized locally via ` git init ` or ` git clone ` _ before_
284
+ you installed the pre-commit hook globally ([ step 2] ( #2-install-the-pre-commit-hook-globally ) ),
285
+ you will need to run:
286
+
287
+ ``` bash
288
+ pre-commit install
289
+ ```
290
+
279
291
### 4. Run
280
292
281
293
Execute this command to run ` pre-commit ` on all files in the repository (not only changed files):
0 commit comments