1
- # TFLint Ruleset Template
2
- [ ![ Build Status] ( https://github.com/terraform-linters/tflint-ruleset-template/workflows/build/badge.svg?branch=main )] ( https://github.com/terraform-linters/tflint-ruleset-template/actions )
1
+ # TFLint Vault Ruleset
3
2
4
- This is a template repository for building a custom ruleset. You can create a plugin repository from "Use this template". See also [ Writing Plugins] ( https://github.com/terraform-linters/tflint/blob/master/docs/developer-guide/plugins.md ) .
3
+ [ ![ Build Status] ( https://github.com/joomcode/tflint-ruleset-vault/workflows/build/badge.svg?branch=main )] ( https://github.com/joomcode/tflint-ruleset-vault/actions )
4
+
5
+ This a small ruleset for TFLint that checks for some mistakes in HashiCorp Vault configurations.
5
6
6
7
## Requirements
7
8
@@ -10,35 +11,65 @@ This is a template repository for building a custom ruleset. You can create a pl
10
11
11
12
## Installation
12
13
13
- TODO: This template repository does not contain release binaries, so this installation will not work. Please rewrite for your repository. See the "Building the plugin" section to get this template ruleset working.
14
-
15
14
You can install the plugin with ` tflint --init ` . Declare a config in ` .tflint.hcl ` as follows:
16
15
17
16
``` hcl
18
- plugin "template " {
17
+ plugin "vault " {
19
18
enabled = true
20
19
21
20
version = "0.1.0"
22
- source = "github.com/terraform-linters /tflint-ruleset-template "
21
+ source = "github.com/joomcode /tflint-ruleset-vault "
23
22
24
23
signing_key = <<-KEY
25
24
-----BEGIN PGP PUBLIC KEY BLOCK-----
26
- mQINBGCqS2YBEADJ7gHktSV5NgUe08hD/uWWPwY07d5WZ1+F9I9SoiK/mtcNGz4P
27
- JLrYAIUTMBvrxk3I+kuwhp7MCk7CD/tRVkPRIklONgtKsp8jCke7FB3PuFlP/ptL
28
- SlbaXx53FCZSOzCJo9puZajVWydoGfnZi5apddd11Zw1FuJma3YElHZ1A1D2YvrF
29
- ...
25
+ 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
61
+ wYeMFkqSsluCjDEL47bGvq0=
62
+ =hItF
63
+ -----END PGP PUBLIC KEY BLOCK-----
30
64
KEY
31
65
}
32
66
```
33
67
34
68
## Rules
35
69
36
- | Name| Description| Severity| Enabled| Link|
37
- | --- | --- | --- | --- | --- |
38
- | aws_instance_example_type| Example rule for accessing and evaluating top-level attributes| ERROR| ✔||
39
- | aws_s3_bucket_example_lifecycle_rule| Example rule for accessing top-level/nested blocks and attributes under the blocks| ERROR| ✔||
40
- | google_compute_ssl_policy| Example rule with a custom rule config| WARNING| ✔||
41
- | terraform_backend_type| Example rule for accessing other than resources| ERROR| ✔||
70
+ | Name | Description | Severity | Enabled | Link |
71
+ | ----------------------- | ------------------------------------------------------------ | -------- | ------- | ---- |
72
+ | vault_policy_name_reuse | Checks if multiple vault_policy resources have the same name | ERROR | ✔ | |
42
73
43
74
## Building the plugin
44
75
@@ -58,7 +89,7 @@ You can run the built plugin like the following:
58
89
59
90
```
60
91
$ cat << EOS > .tflint.hcl
61
- plugin "template " {
92
+ plugin "vault " {
62
93
enabled = true
63
94
}
64
95
EOS
0 commit comments