For an open source tool for infrastructure provisioning, the first results are opentofu/opentofu (OpenTofu is a fully open-source fork of Terraform that provides a declarative infrastructure-as-code workflow with state management, plan/apply, and a provider plugin ecosystem, making it exactly the tool you're looking for), pulumi/pulumi and hashicorp/terraform (Terraform is the flagship infrastructure-as-code tool with all the desired features—declarative language, state management, provider ecosystem, and plan/apply CLI workflow—but its current Business Source License may not qualify as fully open-source under standard definitions). skypilot-org/skypilot and encoredev/encore round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “open source terraform alternatives”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
OpenTofu is a declarative infrastructure orchestrator that automates the provisioning and management of cloud resources. It functions as a platform-agnostic interface, allowing users to define their desired environment state in configuration files, which the system then reconciles against live infrastructure to calculate and execute necessary updates. The project utilizes a graph-based execution engine to determine the optimal sequence for resource operations, enabling the parallel processing of independent components to reduce deployment times. To support complex, multi-platform environments
OpenTofu is a fully open-source fork of Terraform that provides a declarative infrastructure-as-code workflow with state management, plan/apply, and a provider plugin ecosystem, making it exactly the tool you're looking for.
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
Pulumi is a fully open-source infrastructure-as-code framework that lets you define, deploy, and manage cloud resources using general-purpose programming languages, with state management, a rich provider/plugin ecosystem, and a plan/apply CLI workflow — directly matching the declarative provisioning tool you are looking for.
Terraform is a declarative infrastructure-as-code tool designed to manage the lifecycle of cloud and on-premises resources. It functions as a workflow engine that reconciles a defined desired state against real-world infrastructure, using a persistent state-tracking layer to maintain consistency and visibility across distributed environments. By mapping infrastructure components into a directed acyclic graph, the system calculates the optimal order for provisioning, updating, or destroying resources. The platform is distinguished by its extensible plugin-based architecture, which decouples co
Terraform is the flagship infrastructure-as-code tool with all the desired features—declarative language, state management, provider ecosystem, and plan/apply CLI workflow—but its current Business Source License may not qualify as fully open-source under standard definitions.
SkyPilot is a multi-cloud AI orchestrator and distributed task scheduler designed to launch and manage AI workloads across various cloud providers, Kubernetes, and Slurm clusters. It functions as an infrastructure-as-code framework that uses declarative files to define resource requirements and setup commands for consistent execution across different environments. The project differentiates itself through automated cost optimization, selecting the most affordable GPU or TPU hardware and managing spot instances to reduce expenses. It also provides a remote development environment that bridges
SkyPilot provisions cloud resources declaratively with YAML files and a CLI, fitting the infrastructure-as-code category well, although its focus on AI workloads means it is narrower than a general-purpose tool like Terraform.
Encore is a distributed systems framework designed to unify backend development, infrastructure provisioning, and observability. It functions as an infrastructure-as-code platform that allows developers to define cloud resources, databases, and messaging topics directly within their application code. By analyzing these declarations at compile-time, the system automatically manages the deployment of cloud resources and security policies, ensuring parity between local development and production environments. The platform distinguishes itself through its integrated development experience, which
Encore is an infrastructure-as-code platform that automatically provisions cloud resources from annotations in your application code, making it a strong fit for declarative cloud provisioning even though it uses a code-first approach rather than a separate configuration language.
This is an infrastructure as code tool and serverless deployment orchestrator that provides a shorthand syntax for defining serverless infrastructure. It functions as a framework for transforming concise resource declarations into full AWS CloudFormation templates to automate the provisioning of cloud functions, APIs, and databases. The project distinguishes itself by using a macro-based transformation system to expand simplified resource types into detailed infrastructure components. It includes an automated permission mapping system that translates high-level resource interaction intents in
aws/serverless-application-model is an open-source infrastructure as code tool that provisions AWS serverless resources using a declarative shorthand syntax, but it is limited to AWS and lacks a multi-provider plugin ecosystem and independent state management, making it a narrower fit for the Terraform-like multi-cloud request.
The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision cloud resources using familiar programming languages. By utilizing construct-based synthesis, it translates high-level, object-oriented code into declarative templates, allowing for the automated management of complex cloud environments through a centralized, code-driven control plane. The framework distinguishes itself through its ability to model infrastructure as a dependency-aware resource graph, ensuring that components are provisioned and updated in the correct order. It
AWS CDK is an open-source infrastructure-as-code framework that lets you define and provision AWS resources using familiar programming languages, with a CLI supporting a plan/apply-like workflow (cdk diff/deploy); it squarely fits the IaC tool category, though its scope is limited to AWS and it uses code rather than a declarative configuration language.
The Serverless Framework is a declarative infrastructure-as-code tool designed to automate the deployment, scaling, and lifecycle management of cloud-native applications. It provides a unified command-line interface that translates high-level configuration files into provider-specific resource templates, enabling developers to orchestrate complex architectures, event-driven functions, and cloud resources within a single project structure. What distinguishes this framework is its focus on developer experience and multi-environment parity. It supports local function invocation and event proxyin
The Serverless Framework is a declarative infrastructure‑as‑code tool specifically for provisioning and managing cloud‑native (serverless) resources, with a YAML configuration language, state management, plugin ecosystem, and CLI workflow — all under a fully open‑source license, which directly matches the search for an open‑source IaC tool.
Crossplane is a Kubernetes-based control plane framework that functions as a cloud resource orchestrator and infrastructure-as-code platform. It enables the management of heterogeneous infrastructure by extending the Kubernetes API to provision and maintain external cloud services through declarative configuration. By utilizing custom resource controllers, it continuously reconciles the state of external infrastructure with defined desired states, ensuring consistent deployment and lifecycle management across multiple cloud providers. The platform distinguishes itself through its composition-
Crossplane is a Kubernetes-native infrastructure-as-code platform that uses declarative custom resources and a provider ecosystem to provision and manage cloud resources, fitting the core intent for an open-source IaC tool; note its workflow is based on continuous reconciliation via kubectl rather than a standalone plan/apply cycle.
Terragrunt is an infrastructure as code orchestrator and a thin wrapper for Terraform. It serves as a configuration manager designed to reduce code duplication and manage the execution and deployment order of infrastructure across complex cloud architectures. The tool facilitates scaling cloud deployments across multiple environments, such as development, staging, and production, while keeping configurations consistent. It focuses on organizing large-scale deployments into manageable components to avoid monolithic state files and limit the blast radius of changes. Its capabilities cover infr
Terragrunt is an IaC orchestrator that wraps Terraform to manage deployments across environments, but it does not itself provision cloud resources declaratively — it relies on Terraform or OpenTofu for that, so it is a companion tool rather than the standalone provisioning tool you asked for.
Spinnaker is a multi-cloud continuous delivery platform designed to automate software releases and deployment pipelines across various public cloud providers and Kubernetes clusters. It functions as a cloud deployment orchestrator and infrastructure delivery tool, coordinating the promotion of software artifacts through multiple environments using visual workflows and directed acyclic graphs. The platform distinguishes itself with a dedicated canary analysis engine that compares performance metrics between new and stable software versions to automate release decisions. It utilizes cloud-agnos
Spinnaker is a continuous delivery platform that automates software deployments, not an infrastructure-as-code provisioning tool that declaratively manages cloud resources like Terraform — it orchestrates releases onto infrastructure rather than provisioning that infrastructure itself.
pyinfra is a Python-based infrastructure automation framework that turns Python code into shell commands for managing servers, Docker containers, and local machines. It operates as a declarative, idempotent deployment tool, applying desired system states by comparing target configurations against current states and making only the necessary changes. The framework provides a connector-based transport abstraction that unifies SSH, Docker, and local execution behind a common interface, with a parallel execution engine that manages concurrent operations across hosts. The tool distinguishes itself
pyinfra is a Python-based infrastructure automation framework focused on server configuration and state management, not a declarative cloud resource provisioning tool—it manages servers and containers rather than provisioning cloud infrastructure like Terraform does.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| opentofu/opentofu | 29.2K | Go | MPL-2.0 | |
| pulumi/pulumi | 24.8K | Go | apache-2.0 | |
| hashicorp/terraform |
| 48.7K |
| Go |
| NOASSERTION |
| skypilot-org/skypilot | 10.2K | Python | Apache-2.0 |
| encoredev/encore | 12K | Go | MPL-2.0 |
| aws/serverless-application-model | 9.6K | Python | Apache-2.0 |
| aws/aws-cdk | 12.8K | TypeScript | Apache-2.0 |
| serverless/serverless | 46.9K | JavaScript | NOASSERTION |
| crossplane/crossplane | 11.8K | Go | Apache-2.0 |
| gruntwork-io/terragrunt | 9.3K | Go | mit |