Terraform · zero to on-call

Read the plan before it reads you.

State, plans, modules and drift, learned by fixing real incidents on a simulated cloud that never sends a bill.

Learning Terraform?

Start from zero, step by step.

Levels in order, each with a hands-on incident to fix in your browser.

Something broken right now?

Paste the error, get the fix.

The cause, the commands to confirm it and the fix, for every common Terraform error.

Everything you need, from the first init to the 3 a.m. incident.

Fix a broken Terraform project. Right here.

Real incidents, real terraform commands and real error messages. No install, no account, no cloud bill.

What happens when you run terraform apply

Select a step to see what it does, or play the whole run.

    Practise on your own machine

    Run the AWS examples

    Each folder in the repository is a working example. Real AWS resources cost money: destroy them when you finish.

    # 1. Get the examples
    git clone https://github.com/SandeepKomal/Terraform-HashiCorp.git
    cd Terraform-HashiCorp/tf-vpc
    
    # 2. Check who you are in AWS
    aws sts get-caller-identity
    
    # 3. The workflow
    terraform init
    terraform fmt -check
    terraform validate
    terraform plan -out=tfplan
    terraform apply tfplan
    
    # 4. Clean up
    terraform destroy

    Terraform or OpenTofu?

    Either works for everything here.

    OpenTofu is an open-source fork of Terraform, started in 2023 after HashiCorp moved Terraform to the Business Source License, and maintained under the Linux Foundation.

    Its tofu command takes the same commands and HCL for nearly everything on this site: tofu init, tofu plan, tofu apply. Messages say OpenTofu instead of Terraform, and the newest features of each have started to differ, so check its documentation for those.

    Install notes · Before you apply

    Your path

    Progress is saved in this browser only. Tick a level when you have solved its scenarios.

    ↑ ↓ to move · Enter to open · Esc to close