awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
gruntwork-io avatar

gruntwork-io/terratest

0
View on GitHub↗
7,879 stars·1,372 forks·Go·apache-2.0·12 viewsterratest.gruntwork.io↗

Terratest

Terratest is a Go library and testing framework designed for automating the deployment, validation, and destruction of infrastructure stacks. It serves as a cloud resource verification tool that interacts with provider APIs and executes remote shell commands to ensure infrastructure definitions are correctly configured.

The framework provides specialized support for validating Terraform modules and Kubernetes deployments, including the verification of container orchestration manifests and Helm charts. It distinguishes itself through the use of Docker container utilities for script execution and tool isolation, as well as the ability to verify the internal state of containers and remote systems via SSH.

The project covers a broad range of validation primitives, including deployment idempotency checks, HTTP endpoint verification with retry logic, and automated resource cleanup to prevent cost sprawl. It also handles operational concerns such as parallel test log de-interleaving, resource identifier namespacing to prevent collisions, and policy compliance auditing.

Terratest integrates with Maven builds and supports library version pinning to ensure reproducible test environments.

Features

  • Automated Infrastructure Testing - Automates the deployment, validation, and destruction of Terraform modules to ensure cloud resources are correctly configured.
  • Terraform Testing Frameworks - Provides a specialized Go library for automating the deployment, validation, and destruction of Terraform infrastructure stacks.
  • Deployment Resource Cleanup - Automates the complete removal of cloud resources created during tests to prevent cost sprawl.
  • State Verification - Interacts directly with cloud provider APIs to verify that deployed resources are correctly configured.
  • Cloud Service Integrations - Uses cloud APIs to verify the operational state and configuration of deployed cloud services.
  • Deployment Validation - Validates images, APIs, and Helm charts to ensure containerized applications deploy and run correctly.
  • Automated Quality Assurance Suites - Provides automated test suites and idempotency checks to ensure infrastructure definitions are reproducible and error-free.
  • Endpoint Verification - Performs HTTP requests with retry logic to confirm that deployed services return the expected responses.
  • SSH-Based Remote Execution - Runs shell commands and scripts on remote instances via SSH to validate internal system state and health.
  • Behavioral Validation - Runs deployment commands and verifies that the resulting infrastructure behaves as expected.
  • Infrastructure Lifecycle Management - Automates the full cycle of creating, testing, and cleaning up temporary environments to prevent resource sprawl.
  • Manifest Validation - Applies and deletes Kubernetes manifests to verify service availability and endpoint responses.
  • Remote Command Execution - Executes shell commands and scripts via SSH on remote servers to verify application functionality and system state.
  • Infrastructure Idempotency Testing - Applies configurations multiple times to ensure a consistent state without creating unexpected changes.
  • API Endpoint Testing - Retrieves Kubernetes service endpoints to verify application availability via programmatic API calls.
  • Cloud Resource Verification Libraries - Provides a comprehensive suite of helpers for validating deployed services across multiple cloud platforms.
  • Cloud State Verifications - Provides utilities to interact directly with cloud provider APIs to verify the actual state of deployed resources.
  • Go Testing Frameworks - Implements a testing framework specifically for infrastructure using the Go programming language.
  • Infrastructure Testing Tools - Provides a framework for verifying the configuration, deployment, and operational state of cloud infrastructure.
  • Multi-Cloud Validation - Verifies that infrastructure configurations deploy correctly across various cloud providers using automated tests.
  • State Polling - Implements polling logic with configurable timeouts to verify that asynchronous cloud deployments reach a healthy state.
  • Automated Testing Containers - Builds and runs container images to verify the internal state and configuration of application containers.
  • Test Script Execution - Runs scripts inside Docker containers to accelerate iteration by reducing build and startup times.
  • Configuration Validation - Tests container images and templates to ensure artifacts are built and deployed correctly.
  • Infrastructure Output Variables - Extracts output variables from deployed stacks to verify resource attributes and configurations.
  • Deployment Validations - Tests container orchestration manifests and Helm charts to verify that services are available and responding.
  • Deployment Validators - Applies manifests and verifies service availability and endpoint responses within Kubernetes clusters.
  • Audit and Compliance - Checks infrastructure configurations against defined rules to verify adherence to security and operational policies.
  • Container-Based Isolation - Uses Docker containers to isolate tooling and ensure consistent execution environments for infrastructure tests.
  • Cloud Service Mocks - Injects mock cloud clients and context to enable unit testing without requiring live provider APIs.
  • Test Lifecycle and Execution Control - Manages the full sequence of initialization, deployment, and destruction around each test case.
  • Infrastructure Unit Tests - Executes lifecycle commands against individual infrastructure modules to verify their specific configuration and deployment.
  • Testing Frameworks - Go library for automated infrastructure testing.

Star history

Star history chart for gruntwork-io/terratestStar history chart for gruntwork-io/terratest

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Terratest

Similar open-source projects, ranked by how many features they share with Terratest.
  • fizzadar/pyinfraFizzadar avatar

    Fizzadar/pyinfra

    5,793View on GitHub↗

    pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell commands to manage servers, containers, and local machines over SSH without requiring any pre-installed software on target hosts. It operates by comparing the desired state of a system against its current state, using a dry-run simulation mode to preview changes and a fact-based conditional execution engine to gather host attributes at runtime and control which operations run. The tool compiles Python operations into optimized shell commands and executes them in parallel across

    Python
    View on GitHub↗5,793
  • ansible/moleculeansible avatar

    ansible/molecule

    4,112View on GitHub↗

    Molecule is an infrastructure test orchestrator and testing framework designed for Ansible roles and collections. It functions as an ephemeral environment manager that spins up and tears down temporary test hosts to validate infrastructure code in isolation. The project distinguishes itself through a specialized idempotency validator that executes automation sequences multiple times to ensure no unintended changes occur after the initial desired state is reached. It utilizes a driver-based provisioning model to support the creation of test targets across containers, virtual machines, and clou

    Pythonansibleansible-dev-toolscookiecutter-ansible
    View on GitHub↗4,112
  • pulumi/pulumipulumi avatar

    pulumi/pulumi

    24,797View on GitHub↗

    Pulumi is an infrastructure-as-code framework that enables the definition, deployment, and management of cloud resources using general-purpose programming languages. It functions as a cloud resource orchestrator that coordinates the lifecycle of heterogeneous infrastructure by executing code to construct dependency graphs and reconciling the desired state against actual cloud environments. The platform distinguishes itself through a language-host runtime bridge that allows developers to use standard programming languages to define infrastructure, rather than relying solely on domain-specific

    Goawsazurecloud
    View on GitHub↗24,797
  • goss-org/gossgoss-org avatar

    goss-org/goss

    5,904View on GitHub↗

    Goss is a declarative system validation framework that verifies server state by comparing live system attributes against YAML specifications. It checks the state of packages, ports, services, files, users, processes, DNS records, kernel parameters, mounts, network interfaces, and HTTP endpoints, reporting pass or fail for each condition. The tool distinguishes itself through several automation capabilities. It can scan a running system to automatically generate YAML baseline files that capture current resource configurations, eliminating the need to write tests from scratch. A retry-with-time

    Go
    View on GitHub↗5,904
See all 30 alternatives to Terratest→

Frequently asked questions

What does gruntwork-io/terratest do?

Terratest is a Go library and testing framework designed for automating the deployment, validation, and destruction of infrastructure stacks. It serves as a cloud resource verification tool that interacts with provider APIs and executes remote shell commands to ensure infrastructure definitions are correctly configured.

What are the main features of gruntwork-io/terratest?

The main features of gruntwork-io/terratest are: Automated Infrastructure Testing, Terraform Testing Frameworks, Deployment Resource Cleanup, State Verification, Cloud Service Integrations, Deployment Validation, Automated Quality Assurance Suites, Endpoint Verification.

What are some open-source alternatives to gruntwork-io/terratest?

Open-source alternatives to gruntwork-io/terratest include: fizzadar/pyinfra — pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell… ansible/molecule — Molecule is an infrastructure test orchestrator and testing framework designed for Ansible roles and collections. It… pulumi/pulumi — Pulumi is an infrastructure-as-code framework that enables the definition, deployment, and management of cloud… goss-org/goss — Goss is a declarative system validation framework that verifies server state by comparing live system attributes… khuedoan/homelab — This project is a GitOps infrastructure framework designed for managing bare metal servers, container clusters, and… voltagent/awesome-claude-code-subagents — This project provides a framework for managing multi-agent systems, designed to automate complex software development,…