Pulumi for Terraform Users
Use Pulumi alongside your existing Terraform infrastructure rather than replacing it entirely. This step-by-step tutorial is for existing Terraform users and focuses on coexistence patterns that let you adopt Pulumi’s features while keeping your existing investments in Terraform.
What you’ll learn
Each step below is a page in this guide, and the buttons at the bottom of every page walk you through them in order:
- Install and configure Pulumi alongside your existing Terraform setup
- First look: create the same resources with Terraform HCL and with a Pulumi program
- Coexistence: reference existing Terraform state files from Pulumi
- Module reuse: import and use Terraform modules directly
- Provider sharing: use any Terraform provider in Pulumi programs
- Selective conversion: convert specific HCL to Pulumi when beneficial
- Orchestration: manage both tools in unified workflows
- State management: store Terraform state in Pulumi Cloud
- Remote execution: run Terraform plans and applies on Pulumi Cloud
Overview of examples
You’ll build a containerized web application managed by Pulumi that integrates with ECS infrastructure managed by Terraform. Starting with state referencing, you’ll progressively add complexity while learning integration patterns that work in real-world scenarios.
Prerequisites
- Basic Terraform knowledge and existing Terraform infrastructure
- AWS account with appropriate permissions
- Docker installed locally (for containerization examples)
- Git for version control
Time estimate
30-45 minutes to complete all sections