![map](https://raw.githubusercontent.com/Sanix-Darker/terraform_learn/master/./terraform.svg)
CHECK THE INTERACTIVE MAP
- What is Terraform?
- Infrastructure as Code (IaC)
- Declarative language
- History of Terraform
- Installation
- Using package manager (brew, apt, yum)
- Downloading from HashiCorp
- Infrastructure as Code
- Declarative Configuration
- Providers
- Resources
- State Management
- HCL (HashiCorp Configuration Language)
- Syntax
- Variables
- Input variables
- Output variables
- Data types
- Terraform Blocks
- Providers
- Resources
- Data sources
- Outputs
- Terraform Commands
- What are providers?
- Popular Providers
- AWS
- Azure
- Google Cloud
- Kubernetes
- Docker
- Configuring Providers
- Provider block
- Authentication
Resources and Data Sources
- Defining Resources
- Resource Attributes
- Meta-Arguments
- depends_on
- count
- for_each
- Data Sources
- Using data sources
- Data source attributes
- Input Variables
- Defining variables
- Variable types
- Default values
- Variable files
- Output Variables
- Defining outputs
- Output values
- Purpose of State
- State Files
- Remote State
- Backends
- Local
- S3
- Azure Storage
- Google Cloud Storage
- State locking
- State versioning
- Managing State
- terraform state commands
- Importing existing resources
- What are Modules?
- Creating Modules
- Using Modules
- Module sources
- Passing inputs to modules
- Module outputs
- Public Module Registry
- Introduction to Workspaces
- Using Workspaces
- Creating workspaces
- Switching workspaces
- When to use Provisioners
- Common Provisioners
- Templating with Terraform
- Using the templatefile function
- Dynamic Blocks
- Terraform Functions
- Built-in functions
- Writing custom functions
- Managing Dependencies
- Implicit and explicit dependencies
- Handling Secrets
- Environment variables
- Vault integration
- Code Organization
- Version Control
- DRY (Don't Repeat Yourself) principle
- Module Reusability
- Security considerations
- Storing secrets
- IAM roles and permissions
- Testing
- Using terraform validate
- Integration testing with Terratest
- CI/CD with Terraform
- GitHub Actions
- GitLab CI
- Jenkins
- Configuration Management
- Official Documentation
- Tutorials and Courses
- HashiCorp Learn
- Udemy
- Coursera
- A Cloud Guru
- Books
- "Terraform: Up & Running" by Yevgeniy Brikman
- "Infrastructure as Code" by Kief Morris
- Online Communities
- Terraform Discuss
- Stack Overflow
- Reddit (r/Terraform)
- Practice Projects
- Deploying a web application
- Setting up a VPC
- Automating infrastructure provisioning
- Keeping up-to-date
- HashiCorp Blog
- Release notes
- Community events