diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e2be845..b1d8cd2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -24,29 +24,35 @@ repos: rev: v1.0.0-rc.1 hooks: - id: go-fmt + args: [-s, -w, ./test] - id: golangci-lint args: - "--timeout=10m" - "--verbose" - "--allow-parallel-runners" - repo: https://github.com/antonbabenko/pre-commit-terraform - rev: v1.89.1 + rev: v1.91.0 hooks: - id: terraform_fmt - - id: terraform_docs + args: + - --hook-config=--tf-path=tofu + - id: terraform_tflint + args: + - --args=--config=__GIT_WORKING_DIR__/.tflint.hcl + - --hook-config=--tf-path=tofu + - repo: https://github.com/tofuutils/pre-commit-opentofu + rev: v1.0.3 # Get the latest from: https://github.com/tofuutils/pre-commit-opentofu/releases + hooks: + - id: tofu_docs args: - --args=--lockfile=false - --hook-config=--path-to-file=README.md # Valid UNIX path. I.e. ../TFDOC.md or docs/README.md etc. - --hook-config=--add-to-existing-file=true # Boolean. true or false - --hook-config=--create-file-if-not-exist=true # Boolean. true or false - - id: terraform_checkov - verbose: true + - id: tofu_checkov args: - --args=--config-file __GIT_WORKING_DIR__/.checkov.yml - - id: terraform_tflint - args: - - --args=--config=__GIT_WORKING_DIR__/.tflint.hcl - repo: https://github.com/renovatebot/pre-commit-hooks - rev: 37.356.1 + rev: 37.411.0 hooks: - id: renovate-config-validator diff --git a/Makefile b/Makefile index 64524a7..2f93c21 100644 --- a/Makefile +++ b/Makefile @@ -65,7 +65,7 @@ _test-all: _create-folders -e SKIP_TEARDOWN \ $${TF_VARS} \ ${BUILD_HARNESS_REPO}:${BUILD_HARNESS_VERSION} \ - bash -c 'git config --global --add safe.directory /app && cd examples/complete && terraform init -upgrade=true && cd ../../test/e2e && go test -count 1 -v $(EXTRA_TEST_ARGS) .' + bash -c 'git config --global --add safe.directory /app && cd examples/complete && tofu init -upgrade=true && cd ../../test/e2e && go test -count 1 -v $(EXTRA_TEST_ARGS) .' .PHONY: test test: ## Run all automated tests. Requires access to an AWS account. Costs real money. @@ -119,7 +119,7 @@ pre-commit-terraform: ## Run the terraform pre-commit hooks. Returns nonzero exi .PHONY: pre-commit-golang pre-commit-golang: ## Run the golang pre-commit hooks. Returns nonzero exit code if any hooks fail. Uses Docker for maximum compatibility - $(MAKE) _runhooks HOOK="" SKIP="check-added-large-files,check-merge-conflict,detect-aws-credentials,detect-private-key,end-of-file-fixer,fix-byte-order-marker,trailing-whitespace,check-yaml,fix-smartquotes,terraform_fmt,terraform_docs,terraform_checkov,terraform_tflint,renovate-config-validator" + $(MAKE) _runhooks HOOK="" SKIP="check-added-large-files,check-merge-conflict,detect-aws-credentials,detect-private-key,end-of-file-fixer,fix-byte-order-marker,trailing-whitespace,check-yaml,fix-smartquotes,terraform_fmt,tofu_docs,tofu_checkov,terraform_tflint,renovate-config-validator" .PHONY: pre-commit-renovate pre-commit-renovate: ## Run the renovate pre-commit hooks. Returns nonzero exit code if any hooks fail. Uses Docker for maximum compatibility @@ -127,7 +127,7 @@ pre-commit-renovate: ## Run the renovate pre-commit hooks. Returns nonzero exit .PHONY: pre-commit-common pre-commit-common: ## Run the common pre-commit hooks. Returns nonzero exit code if any hooks fail. Uses Docker for maximum compatibility - $(MAKE) _runhooks HOOK="" SKIP="go-fmt,golangci-lint,terraform_fmt,terraform_docs,terraform_checkov,terraform_tflint,renovate-config-validator" + $(MAKE) _runhooks HOOK="" SKIP="go-fmt,golangci-lint,terraform_fmt,tofu_docs,tofu_checkov,terraform_tflint,renovate-config-validator" .PHONY: fix-cache-permissions fix-cache-permissions: ## Fixes the permissions on the pre-commit cache @@ -135,4 +135,4 @@ fix-cache-permissions: ## Fixes the permissions on the pre-commit cache .PHONY: autoformat autoformat: ## Update files with automatic formatting tools. Uses Docker for maximum compatibility. - $(MAKE) _runhooks HOOK="" SKIP="check-added-large-files,check-merge-conflict,detect-aws-credentials,detect-private-key,check-yaml,golangci-lint,terraform_checkov,terraform_tflint,renovate-config-validator" + $(MAKE) _runhooks HOOK="" SKIP="check-added-large-files,check-merge-conflict,detect-aws-credentials,detect-private-key,check-yaml,golangci-lint,tofu_checkov,terraform_tflint,renovate-config-validator" diff --git a/README.md b/README.md index f1ea451..f1180c5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # terraform-aws-transit-gateway Repo provides module to create (or not, if already existing) transit gateway(s), handle attachments, and routes, and more - + ## Requirements | Name | Version | @@ -80,4 +80,4 @@ Repo provides module to create (or not, if already existing) transit gateway(s), | [transit\_gateway\_route\_ids](#output\_transit\_gateway\_route\_ids) | Transit Gateway route identifiers combined with destinations | | [transit\_gateway\_route\_table\_id](#output\_transit\_gateway\_route\_table\_id) | Transit Gateway route table ID | | [transit\_gateway\_vpc\_attachment\_ids](#output\_transit\_gateway\_vpc\_attachment\_ids) | Transit Gateway VPC attachment IDs | - + diff --git a/examples/complete/README.md b/examples/complete/README.md index c15a72e..753fb22 100644 --- a/examples/complete/README.md +++ b/examples/complete/README.md @@ -1,6 +1,6 @@ # complete - + ## Requirements | Name | Version | @@ -47,4 +47,4 @@ | [debug](#output\_debug) | n/a | | [new\_transit\_gateway](#output\_new\_transit\_gateway) | n/a | | [new\_transit\_gateway\_config](#output\_new\_transit\_gateway\_config) | n/a | - + diff --git a/modules/subnet_route/README.md b/modules/subnet_route/README.md index eb81e0a..2a19eb3 100644 --- a/modules/subnet_route/README.md +++ b/modules/subnet_route/README.md @@ -1,6 +1,6 @@ # subnet_route - + ## Requirements | Name | Version | @@ -42,4 +42,4 @@ No modules. | [route\_config\_list](#output\_route\_config\_list) | Route configuration list | | [route\_config\_map](#output\_route\_config\_map) | Route configuration map | | [subnet\_route\_ids](#output\_subnet\_route\_ids) | Subnet route identifiers combined with destinations | - + diff --git a/modules/transit_gateway_route/README.md b/modules/transit_gateway_route/README.md index c76b574..fa2bb71 100644 --- a/modules/transit_gateway_route/README.md +++ b/modules/transit_gateway_route/README.md @@ -1,6 +1,6 @@ # transit_gateway_route - + ## Requirements | Name | Version | @@ -38,4 +38,4 @@ No modules. |------|-------------| | [transit\_gateway\_route\_config](#output\_transit\_gateway\_route\_config) | Transit Gateway route configuration | | [transit\_gateway\_route\_ids](#output\_transit\_gateway\_route\_ids) | Transit Gateway route identifiers combined with destinations | - + diff --git a/test/e2e/examples_complete_test.go b/test/e2e/examples_complete_test.go index 836aa90..1882a25 100644 --- a/test/e2e/examples_complete_test.go +++ b/test/e2e/examples_complete_test.go @@ -18,8 +18,9 @@ func TestExamplesCompleteCommon(t *testing.T) { tempFolder := teststructure.CopyTerraformFolderToTemp(t, "../..", "examples/complete") terraformOptions := &terraform.Options{ - TerraformDir: tempFolder, - Upgrade: false, + TerraformBinary: "tofu", + TerraformDir: tempFolder, + Upgrade: false, EnvVars: map[string]string{ "TF_VAR_region": os.Getenv("TF_VAR_region"), // This will use the existing or newly set default value }, @@ -31,7 +32,8 @@ func TestExamplesCompleteCommon(t *testing.T) { } terraformOptionsWithVPCs := &terraform.Options{ - TerraformDir: tempFolder, + TerraformBinary: "tofu", + TerraformDir: tempFolder, Targets: []string{ "module.vpc_prod", "module.vpc_dev",