Welcome to the Terraform Learning Path, a complete, structured journey to learn Terraform from the ground up to advanced production-grade use. This documentation is designed for beginners, intermediate users, and seasoned professionals who want to manage infrastructure as code with HashiCorp Terraform.
Start here if you're new to Terraform and Infrastructure as Code.
- Introduction to Terraform
- Installing and Setting up Terraform CLI
- Terraform Files and Directory Structure
- Providers, Resources, and Data Sources
- Input Variables and Output Values
- Basic Commands (
init,plan,apply,destroy) - Understanding Terraform State
Learn to manage reusable, scalable, and modular infrastructure.
- Remote State Management
- Modules and Workspaces
- Expressions and Logic (count, for_each, conditionals)
- Built-in Functions and Local Values
- Dependency Management and DRY Code Principles
Design production-grade, secure, and high-performing deployments.
- Resource Lifecycle Rules
- Provisioners and Importing Existing Resources
- Managing and Moving State
- Secrets Handling and Sensitive Outputs
- Error Handling and Optimization
Make your Terraform workflows robust, secure, and automated.
- Code Validation and Formatting
- Linting and Security Scanning Tools
- Testing with Terratest
- Integrating Terraform in CI/CD Pipelines
- Lock Files and Dependency Control
Master tools for scale, teams, and enterprise-grade infrastructure.
- Terraform Cloud and Enterprise
- Sentinel Policy as Code
- Using Terragrunt and GitOps Workflows
- Large-scale Project Design
- Multi-Account and Multi-Region Architectures
- Collaboration and Access Control
Real-world deployments across cloud platforms and services.
- AWS, Azure, GCP Services
- Kubernetes Infrastructure Management
- Serverless and Event-Driven Apps
- DNS, CDN, and Certificate Management
- Monitoring, Logging, and Observability
π Start exploring by clicking on a topic in the sidebar!