Skip to content

Commit 0c32b84

Browse files
committed
feat(src/terraform): add terraform feature
1 parent b2852c8 commit 0c32b84

13 files changed

+1404
-0
lines changed

src/terraform/NOTES.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
3+
## Licensing
4+
5+
On August 10, 2023, HashiCorp announced a change of license for its products, including Terraform. After ~9 years of Terraform being open source under the MPL v2 license, it was to move under a non-open source BSL v1.1 license, starting from the next (1.6) version. See https://github.com/hashicorp/terraform/blob/main/LICENSE
6+
7+
## OS Support
8+
9+
This Feature should work on recent versions of Arch Linux-based distributions with the `pacman` package manager installed.
10+
11+
`bash` is required to execute the `install.sh` script.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
"id": "terraform",
3+
"version": "0.1.0",
4+
"name": "Terraform, tflint, and TFGrunt",
5+
"documentationURL": "https://github.com/bartventer/devcontainer-features/tree/main/src/terraform",
6+
"description": "Installs the Terraform CLI and optionally Terragrunt and TFLint. Auto-detects latest version and installs needed dependencies.",
7+
"options": {
8+
"installTerragrunt": {
9+
"type": "boolean",
10+
"default": true,
11+
"description": "Install Terragrunt, a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules"
12+
},
13+
"tflint": {
14+
"type": "string",
15+
"proposals": [
16+
"latest",
17+
"0.47.0",
18+
"0.46.1"
19+
],
20+
"default": "latest",
21+
"description": "Tflint version (https://github.com/terraform-linters/tflint/releases)"
22+
},
23+
"installSentinel": {
24+
"type": "boolean",
25+
"default": false,
26+
"description": "Install sentinel, a language and framework for policy built to be embedded in existing software to enable fine-grained, logic-based policy decisions"
27+
},
28+
"installTFsec": {
29+
"type": "boolean",
30+
"default": false,
31+
"description": "Install tfsec, a tool to spot potential misconfigurations for your terraform code"
32+
},
33+
"installTerraformDocs": {
34+
"type": "boolean",
35+
"default": false,
36+
"description": "Install terraform-docs, a utility to generate documentation from Terraform modules"
37+
},
38+
"httpProxy": {
39+
"type": "string",
40+
"default": "",
41+
"description": "Connect to a keyserver using a proxy by configuring this option"
42+
}
43+
},
44+
"customizations": {
45+
"vscode": {
46+
"extensions": [
47+
"HashiCorp.terraform",
48+
"ms-azuretools.vscode-azureterraform"
49+
],
50+
"settings": {
51+
"terraform.languageServer.enable": true,
52+
"terraform.languageServer.args": [
53+
"serve"
54+
],
55+
"azureTerraform.terminal": "integrated"
56+
}
57+
}
58+
},
59+
"installsAfter": [
60+
"ghcr.io/bartventer/devcontainer-features/common-utils"
61+
]
62+
}

0 commit comments

Comments
 (0)