Skip to content

drselump14/terraspace_hooks

Repository files navigation

TerraspaceHooks

Useful terraspace hook collection.

Installation

Install the gem and add to the application's Gemfile by executing:

    bundle add terraspace_hooks

Usage

# inside config/hooks/terraform.rb

# run `tflint` before # terraform plan
before("plan", execute: TerraspaceHooks::TflintValidator)

# run `terraform validate` before terraform plan
before("plan", execute: TerraspaceHooks::TfValidator)

# generate infracost output after terraform plan
after("plan", execute: TerraspaceHooks::InfracostGenerator)
# inside config/hooks/terraspace.rb

# Run `terraform fmt` after terraspace build
after("build", execute: TerraspaceHooks::TfFmtValidator)

# Run `tfsec` after terraspace build
after("build", execute: TerraspaceHooks::TfsecValidator)

To use InfracostGenerator, you need to add this line in config/args/terraform.rb

command("plan", args: ["-out tfplan.binary"])

Setting this each environment_variable below will skip the correspondent hook.

SKIP_TERRASPACE_HOOKS_TFSEC_VALIDATOR=1
SKIP_TERRASPACE_HOOKS_TFLINT_VALIDATOR=1
SKIP_TERRASPACE_HOOKS_TF_VALIDATOR=1
SKIP_TERRASPACE_HOOKS_TF_FMT_VALIDATOR=1
SKIP_TERRASPACE_HOOKS_INFRACOST_GENERATOR=1

# or

SKIP_TERRASPACE_HOOKS_ALL=1
# to skip all the hooks

License

The gem is available as open source under the terms of the MIT License.

About

terraspace_hooks

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published