{"id":30516060,"url":"https://github.com/piyushsachdeva/terraform-full-course-aws","last_synced_at":"2025-08-26T09:24:22.665Z","repository":{"id":302687345,"uuid":"1013291089","full_name":"piyushsachdeva/Terraform-Full-Course-Aws","owner":"piyushsachdeva","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-06T15:21:08.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-06T17:29:12.033Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/piyushsachdeva.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-03T16:50:15.000Z","updated_at":"2025-08-06T15:21:12.000Z","dependencies_parsed_at":"2025-08-06T17:08:05.683Z","dependency_job_id":"5a06490a-431c-4f16-9915-69e18d83c4a0","html_url":"https://github.com/piyushsachdeva/Terraform-Full-Course-Aws","commit_stats":null,"previous_names":["itsbaivab/terraform-full-course-aws","piyushsachdeva/terraform-full-course-aws"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/piyushsachdeva/Terraform-Full-Course-Aws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piyushsachdeva%2FTerraform-Full-Course-Aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piyushsachdeva%2FTerraform-Full-Course-Aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piyushsachdeva%2FTerraform-Full-Course-Aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piyushsachdeva%2FTerraform-Full-Course-Aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piyushsachdeva","download_url":"https://codeload.github.com/piyushsachdeva/Terraform-Full-Course-Aws/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piyushsachdeva%2FTerraform-Full-Course-Aws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272203353,"owners_count":24891375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-26T09:24:20.313Z","updated_at":"2025-08-26T09:24:22.658Z","avatar_url":"https://github.com/piyushsachdeva.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform with AWS - Complete Video Course 🚀\n\nWelcome to the comprehensive Terraform with AWS video course! This repository contains all code samples and documentation corresponding to each video lesson.\n\n## 🎯 Course Overview\nThis course consists of video lessons covering basic to advanced Terraform concepts with AWS cloud, including hands-on projects and real-world scenarios.\n\n## 📋 Prerequisites\n- AWS free account or subscription\n- AWS Fundamentals\n- Visual Studio Code or preferred IDE\n- Git installed and working knowledge of it\n- Linux or Mac or WSL(Windows Subsystem for Linux)\n- Linux and Shell scripting\n- Basic understanding of YAML and JSON\n- Networking Fundamentals\n- IP Addressing\n- Docker and Kubernetes Fundamentals\n\n## 📚 Course Curriculum\n\n### Module 1: Core Concepts\n\n#### Day1: Introduction to Terraform\n- Understanding Infrastructure as Code (IaC)\n- Why we need IaC\n- What is Terraform and its benefits\n- Challenges with the traditional approach\n- Terraform Workflow\n- Installing Terraform\n- [Code Sample](/lessons/day01/)\n\n#### Day2: Terraform Provider\n- Terraform Providers\n- Provider version v/s Terraform core version\n- Why version matters\n- Version constraints\n- Operators for versions\n- [Code Sample](/lessons/day02/)\n\n#### Day3: VPC and S3 Bucket\n- Authentication and Authorization to AWS resources\n- Creating VPC\n- S3 bucket management\n- Understanding dependencies\n- [Code Sample](/lessons/day03/)\n\n#### Day4: State file management - Remote Backend\n- How Terraform updates Infra\n- Terraform state file\n- State file best practices\n- Remote backend setup\n- State management\n- [Code Sample](/lessons/day04/)\n\n#### Day5: Variables\n- Input variables\n- Output variables\n- Locals\n- Variable precedence\n- Variable files (tfvars)\n- [Code Sample](/lessons/day05/)\n\n#### Day6: File Structure\n- Terraform file organization\n- Sequence of file loading\n- Best practices for structure\n- [Code Sample](/lessons/day06/)\n\n#### Video 7: Type constraints in Terraform\n- String, number, bool\n- Map, set, list, Tuple, Objects\n- [Code Sample](/lessons/day07/)\n\n#### Video 8: Meta-arguments\n- Understanding count\n- for_each loop\n- for loop\n- Practical examples\n- [Code Sample](/lessons/day08)\n\n#### Video 9: The Lifecycle meta-arguments\n- create before destroy\n- prevent destroy\n- ignore changes\n- replace triggered by\n- custom condition\n- [Code Sample](/lessons/day09)\n\n#### Video 10: Dynamic Blocks and expressions\n- Dynamic blocks\n- Conditional expressions\n- Splat Expressions\n- practical examples\n- [Code Sample](/lessons/day10)\n\n#### Video 11: Functions in Terraform\n- Built-in functions\n- Practical examples\n- tasks for practice\n- [Code Sample](/lessons/day11)\n\n#### Video 12: Functions in Terraform(Continue..)\n- Built-in functions\n- Practical examples\n- tasks for practice\n- [Code Sample](/lessons/day12)\n\n#### Video 13: Data Sources\n- Using data sources\n- Practical examples\n- [Code Sample](/lessons/day13)\n  \n### Module 2: AWS resources using Terraform \n\n#### Video 24: Static Website Hosting ( Mini Project 1 )\n- S3 static website hosting\n- CloudFront distribution\n- Route 53 DNS configuration\n- SSL/TLS certificate management\n- [Code Sample](/lessons/day14)\n\n\n#### Video 15: VPC and Peering ( Mini Project 2 )\n- Virtual Private Cloud Creation\n- VPC peering setup\n- [Code Sample](/lessons/day15)\n\n#### Video 16: IAM Authentication ( Mini Project 3 )\n- Authentication methods\n- IAM roles and policies\n- Service accounts\n- [Code Sample](/lessons/day16)\n\n#### Video 17: AWS Web Apps ( Mini Project 4 )\n- Elastic Beanstalk creation\n- Configuration\n- Deployment\n- [Code Sample](/lessons/day17)\n\n#### Video 18: AWS Lambda ( Mini Project 5 )\n- Lambda function setup\n- Configuration\n- [Code Sample](/lessons/day18)\n\n#### Video 19: Terraform Provisioners ( Mini Project 6 )\n- What are provisioners and their use case\n- Local vs remote vs file provisioners\n- Demo of all three provisioners\n- [Code Sample](/lessons/day19)\n\n#### Video 20: EKS Cluster ( Real-time Project 1)\n- Kubernetes cluster setup\n- EKS cluster with managed node groups\n- Custom module usage\n- Custom module creation for EKS, Secrets Manager, IAM etc\n- Networking and security configuration\n- [Code Sample](/lessons/day20)\n\n#### Video 21: AWS Policy and Governance ( Mini Project 7 )\n- Policy creation\n- Governance setup\n- [Code Sample](/lessons/day21)\n\n#### Video 22: RDS Database ( Mini Project 8 )\n- Database creation\n- Configuration\n- [Code Sample](/lessons/day22)\n\n#### Video 23: AWS Monitoring ( Mini Project 9 )\n- CloudWatch metrics alerts\n- SNS topics\n- CloudWatch logs\n- Log alerts\n- [Code Sample](/lessons/day23)\n\n#### Video 24: High available/scalable Infrastructure Deployment ( Mini Project 10 )\n\n- Creating EC2 Instances\n- Auto Scaling Groups\n- Security Groups\n- Application Load Balancer, NAT Gateway, Elastic IP, Auto Scaling rules etc\n- [Code Sample](/lessons/day24)\n\n### Module 3: Advanced Concepts\n\n#### Video 25: Terraform Import (Real-time project 2)\n- Different ways of importing AWS resource to Terraform\n- Terraform Import\n- Importing a live infrastructure to Terraform using Terraform Import\n- AWS Config\n- Importing a live infrastructure to Terraform using AWS Config\n- Terraformer\n- [Code Sample](/lessons/day25)\n\n#### Video 26: Terraform Cloud and Workspaces\n- Cloud setup\n- Workspace management\n- [Code Sample](/lessons/day26)\n\n#### Video 27: AWS DevOps with Terraform (Real-time project 3)\n- CI/CD pipeline setup\n- Automation\n- [Code Sample](/lessons/day27)\n\n\n#### Video 28: 3-Tier Architecture (Real-time project 5)\n- Complete architecture setup\n- Web tier, Application tier, Database tier\n- Load balancing and auto-scaling\n- Best practices\n- [Code Sample](/lessons/day29)\n\n#### Video 29: GitOps with Terraform (Real-time project 4)\n\n- GitOps workflow implementation\n- ArgoCD setup with Terraform\n- Git-based infrastructure management\n- Automated deployments\n- [Code Sample](/lessons/day30)\n\n\n### Video 0: Terrafrom Drift Detection using Terraform Cloud\n- Drift detection setup\n- Monitoring infrastructure changes\n- [Code Sample](/lessons/day31)\n\n\n\n## 📂 Repository Structure\n```\n├── lessons/\n│   ├── day01/\n│   ├── day02/\n│   └── ...\n├── docs/\n│   ├── setup.md\n│   └── troubleshooting.md\n└── README.md\n```\n\n## 🎓 Learning Path\n1. Follow videos in sequence\n2. Complete hands-on exercises\n3. Implement projects\n4. Practice with provided code samples\n\n## 📝 License\nMIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🔗 Resources\n- [Terraform Documentation](https://www.terraform.io/docs)\n- [AWS Documentation](https://docs.aws.amazon.com/)\n- [Course Support Forum]()\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiyushsachdeva%2Fterraform-full-course-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiyushsachdeva%2Fterraform-full-course-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiyushsachdeva%2Fterraform-full-course-aws/lists"}