Test Kitchen plugins for verifying infrastructure provisioned with Terraform configurations.
Kitchen-Terraform is a Ruby gem that provides Test Kitchen plugins for testing Terraform configurations. It enables developers to automate the verification of infrastructure systems provisioned with Terraform by integrating with InSpec for validation. The tool helps ensure infrastructure behaves correctly before deployment, reducing risks in infrastructure-as-code workflows.
Infrastructure engineers and DevOps practitioners who use Terraform for provisioning and need automated testing frameworks to validate their infrastructure configurations.
Developers choose Kitchen-Terraform for its seamless integration with the Test Kitchen ecosystem, allowing familiar testing workflows to be applied to infrastructure code. It provides a structured way to catch issues early by verifying Terraform state with InSpec, though note it's now deprecated in favor of Terraform's native test framework.
Test Kitchen plugins for testing Terraform configurations
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages familiar Test Kitchen commands like `kitchen test` and `kitchen verify`, providing a consistent workflow for infrastructure testing as described in the README.
Uses InSpec controls to validate resource behavior and state, enabling detailed compliance and security checks on provisioned infrastructure, bridging infrastructure-as-code with automated testing.
Supports Terraform versions from 0.11.4 to below 2.0.0, making it suitable for legacy projects not yet migrated to newer versions, as noted in the installation section.
Includes dedicated driver, provisioner, transport, and verifier plugins, offering a modular approach to testing different aspects of Terraform configurations for comprehensive coverage.
With Terraform 1.6 introducing a native test framework, Kitchen-Terraform is in a maintenance-only phase and will be archived, limiting future updates, support, and making it a legacy tool.
Requires installation and management of Ruby, Terraform CLI, and Test Kitchen, adding overhead compared to simpler testing solutions, and extra dependencies like RbNaCl for SSH keys can complicate setup.
Versions in the 0.11 series may cause `kitchen test` to fail with empty states, necessitating workarounds like using `kitchen verify && kitchen destroy` instead, as admitted in the README's caveats section.