
OpenTofu
Declarative, safe, and efficient infrastructure management for any provider
- Stars
- 28,066
- License
- MPL-2.0
- Last commit
- 9 hours ago
Tools for provisioning and managing infrastructure using code and configuration.
Infrastructure as Code (IaC) refers to the practice of defining and managing compute, network, and storage resources through machine-readable configuration files rather than manual processes. By treating infrastructure the same way as application code, teams can apply version control, automated testing, and repeatable deployments. The open-source IaC ecosystem includes tools such as OpenTofu, Pulumi, Crossplane, Terragrunt, and Atlantis, each offering a different balance of language support, provider coverage, and workflow features. These projects are complemented by SaaS platforms like Scalr, Spacelift, and Terraform Cloud that add collaboration, governance, and managed state services.

Declarative, safe, and efficient infrastructure management for any provider

Declarative, code‑free control plane for multicloud infrastructure

Scale Terraform and OpenTofu workflows with flexible orchestration

Automate Terraform pull‑request workflows with self‑hosted execution
Declarative, safe, and efficient infrastructure management for any provider
Pulumi lets developers define cloud resources using familiar languages like JavaScript, Python, Go, and .NET, supporting AWS, Azure, GCP, Kubernetes and 120+ providers with incremental diffs.
Assess whether the tool uses a declarative language (e.g., HCL, YAML) or supports general-purpose languages, and how that aligns with your team's skill set.
Examine the breadth and depth of cloud, on-prem, and third-party providers supported out of the box.
Consider how the tool stores and locks state, supports remote backends, and handles drift detection.
Look for features such as modules, packages, or composable resources that enable code reuse across environments.
Evaluate the size of the contributor community, frequency of releases, and availability of policy-as-code or role-based access controls.
Most tools in this category support these baseline capabilities.
Terraform Cloud alternative for infrastructure
Infrastructure-as-Code CI/CD for Terraform
Infrastructure-as-code tool that allows provisioning of cloud infrastructure using declarative configuration files
Terraform is an open-source infrastructure-as-code tool that lets you define cloud and on-premises infrastructure resources in human-readable configuration files. It supports many providers (AWS, Azure, GCP, Kubernetes, etc.) through plugins, enabling a unified way to manage diverse resources. Using Terraform, teams can version control their infrastructure, preview changes (execution plans), and apply updates consistently. It handles resource dependencies and state management, allowing safe creation, change, and destruction of complex environments with a single command, thus automating infrastructure provisioning and reducing manual errors.
Define baseline infrastructure (networks, compute, storage) in code and apply it to spin up development, staging, or production environments on demand.
Run plan or preview commands regularly to compare live resources against the desired state and automatically correct deviations.
Use a single codebase to manage resources across multiple cloud providers, enabling consistent policies and cost-optimisation.
Embed IaC validation, linting, and apply steps into pipelines to ensure infrastructure changes are tested before deployment.
Leverage built-in or external policy-as-code engines to enforce security, tagging, and compliance rules during the plan phase.
What is Infrastructure as Code (IaC)?
IaC is the practice of describing infrastructure-servers, networks, databases-in machine-readable files, allowing automated provisioning, versioning, and reproducibility.
How does IaC differ from traditional scripting?
Traditional scripts execute imperatively step-by-step, while IaC tools typically use a declarative model that defines the desired end state, letting the engine calculate the necessary actions.
Which open-source IaC tools are most widely adopted?
Among open-source projects, OpenTofu, Pulumi, Crossplane, Terragrunt, and Atlantis have the largest communities and are frequently cited for production use.
Can IaC tools manage both cloud and on-prem resources?
Yes; many providers expose APIs for public clouds, private clouds, and on-prem hardware, enabling a single codebase to orchestrate hybrid environments.
How is state handled in tools like Terraform or OpenTofu?
State records the current attributes of managed resources. It can be stored locally or in remote backends (e.g., S3, GCS) with locking mechanisms to prevent concurrent modifications.
What are best practices for organizing IaC code?
Common practices include separating environments into distinct workspaces, using reusable modules, keeping configuration under version control, and applying linting and testing in CI pipelines.