Skip to content

Terraform Roadmap

  • Roadmap: https://roadmap.sh/terraform

1. Introduction

  • What is Infrastructure as Code?
  • What is Terraform?
  • Usecases and Benefits
  • CaC vs IaC
  • Installing Terraform

2. Getting Started

2.1 Hashicorp Config Language (HCL)

  • What is HCL?
  • Basic Syntax

2.2 Project Initialization

3. Providers

  • Terraform Registry
  • Configuring Providers
  • Versions

4. Resources

  • Resource Behavior
  • Resource Lifecycle
  • Meta Arguments
  • depends_on
  • count
  • for_each
  • provider
  • lifecycle

5. Variables

  • Input Variables
  • Type Constraints
  • Variable Definition File
  • Local Values
  • Environment Variables
  • Validation Rules

6. Outputs

  • Output Syntax
  • Sensitive Outputs
  • Preconditions

7. Format & Validate

  • terraform fmt
  • terraform validate
  • TFLint

8. State Management

8.1 State

  • Sensitive Data
  • Versioning
  • Splitting State Files
  • Import Existing Resources
  • State Locking
  • Remote State

8.2 Best Practices for State

8.3 Inspect / Modify State

  • graph
  • show
  • list
  • output
  • rm
  • mv
  • -replace option in apply
  • state pull / push
  • state replace-provider
  • state force-unlock

9. Deployment

  • terraform plan
  • terraform apply

10. Clean Up

  • terraform destroy

11. Modules

  • Root vs Child Modules
  • Published Modules Usage
  • Creating Local Modules
  • Inputs / Outputs
  • Modules Best Practices

12. Provisioners

  • When to Use?
  • Creation / Destroy Time
  • file provisioner
  • local-exec provisioner
  • remote-exec provisioner
  • Custom Provisioners

13. Data Sources

14. Template Files

15. Workspaces

16. CI / CD Integration

  • GitHub Actions
  • Circle CI
  • GitLab CI
  • Jenkins

17. Testing

  • Unit Testing
  • Contract Testing
  • Integration Testing
  • End to End Testing
  • Testing Modules

18. Scaling Terraform

  • Splitting Large State
  • Parallelism
  • Deployment Workflow
  • Version Management
  • Terragrunt
  • Infracost

19. Security

  • Secret Management
  • Compliance / Sentinel
  • Terrascan
  • Checkov
  • Trivy
  • KICS

20. HCP

  • What and when to use HCP?
  • Enterprise Features
  • Authentication
  • Workspaces
  • VCS Integration
  • Run Tasks