Infrastructure as Code mastery
Learn Terraform through practical, step-by-step lessons. From basic HCL syntax to production-ready patterns, build real infrastructure management skills by running actual Terraform commands in your terminal.
You'll run every command locally. Confirm the basics so you can focus on practicing Terraform workflows.
Progress through these modules to master Terraform. Click any module to expand and view lessons.
5 modules β’ 1 open
Understand what Infrastructure as Code is, why it matters, and how to install and verify Terraform on your local machine.
Learn how Terraform providers work and create your first resources using the local provider to manage files on your machine.
Master HashiCorp Configuration Language (HCL) syntax including blocks, arguments, expressions, and data types.
Master the complete Terraform workflow including making changes, destroying resources, and understanding the plan output.
Dive deep into terraform.tfstate to understand how Terraform maps your code to real-world resources and why state matters.
Move your state from local storage to a remote backend for team collaboration and state safety.
Learn to reuse existing code by consuming modules from the Terraform Registry and local sources.
Learn best practices for creating professional, reusable Terraform modules with validation, documentation, and proper structure.
Master advanced variable types, validation rules, local values, and output configurations in Terraform.
Create dynamic infrastructure using count, for_each, depends_on, and lifecycle meta-arguments.
Query existing infrastructure and external data that wasn't created by your Terraform configuration.
Manage multiple environments (dev, staging, prod) from a single configuration using Terraform workspaces.
Automate Terraform workflows using CI/CD pipelines with GitHub Actions, handling credentials securely.
Shift security left by scanning Terraform code for vulnerabilities and implementing security best practices.
Detect and fix discrepancies between your Terraform code, state, and actual infrastructure.
Advanced state manipulation: importing existing resources, renaming without recreation, and moving resources between states.
Work through these lessons at your own pace. Each step includes commands, explanations, and expected outcomes.