GitHub Actions with AWS and Terraform
terraform fmt -checkOverview
Section titled “Overview”GitHub Actions pipeline for AWS IaC and container deployment.
What You Will Build
Section titled “What You Will Build”Architecture Diagram
Section titled “Architecture Diagram”Prerequisites
Section titled “Prerequisites”- Install or review: Node.js, Docker, Terraform, GitHub Actions, AWS.
- Use your own cloud account credentials and keep them out of commits.
- This project expects cloud resources, so verify budget alerts and cleanup first.
- Open the safety guide before running commands that create infrastructure.
Credentials And Cost Warning
Section titled “Credentials And Cost Warning”Cost risk is medium. Cloud target: AWS. Cloud credentials needed: Yes. Always use your own account, never commit secrets, and confirm cleanup before creating paid infrastructure.
Step-By-Step Lab
Section titled “Step-By-Step Lab”Use this flow before you run commands:
- Read the cost and credential warning above.
- Review the validation, troubleshooting, cleanup, and portfolio proof sections below.
- Follow the original project guide preserved near the bottom of this page.
- Return to the validation and cleanup checks before you capture portfolio evidence.
Validation Checks
Section titled “Validation Checks”Run the project validation command before and after meaningful changes:
terraform fmt -checkTroubleshooting
Section titled “Troubleshooting”- Run
terraform fmt -checkfirst so local tooling issues are visible early. - If a command fails, check tool versions, working directory, and required environment variables.
- For cloud failures, confirm account identity, region, quotas, and least-privilege IAM.
- For pipeline failures, check repository secrets, runner permissions, and pinned action versions.
Cleanup
Section titled “Cleanup”No dedicated cleanup command was detected in the project README. Treat this as a warning: before provisioning anything, write down the exact delete, destroy, or rollback steps for your environment.
Portfolio Proof
Section titled “Portfolio Proof”- Validation command output:
terraform fmt -check - Screenshot or terminal proof: Passing pipeline run plus scan/deploy evidence
- Notes explaining what changed, what failed, and how you fixed it
- Cleanup evidence, especially for cloud or Kubernetes resources
Original Project Guide
Section titled “Original Project Guide”The original README content is preserved here for lab-specific commands and context. Headings are intentionally demoted so the page outline stays focused on the standard lab flow.

👉 Repository to demonstrate Infrastructur-As-Code using:
Section titled “👉 Repository to demonstrate Infrastructur-As-Code using:” Github Actions Pipelines AWS Terraform + Terraform Cloud👉 Task Workflow
Section titled “👉 Task Workflow”
🛡️ 2026 DevSecOps Enhancements (What You Will Learn)
Section titled “🛡️ 2026 DevSecOps Enhancements (What You Will Learn)”This repository leverages Terraform Cloud within the CI/CD pipeline, fulfilling a critical DevSecOps requirement: Secure Remote State Management. By utilizing Terraform Cloud (or an S3 backend with DynamoDB locking and KMS encryption), we guarantee that sensitive infrastructure state files (which often contain plaintext secrets, database passwords, and private IPs) are never committed to version control or left exposed on a Jenkins/GitHub Actions runner.
👉 AWS Components Used
Section titled “👉 AWS Components Used”Virtual Private Cloud (VPC)Public SubnetsEC2 InstanceInternet Gateways (IG)Security Groups (SG)Elastic Container Registry (ECR)Elastic Container Service (ECS) + FargateAuto Scaling Group (ASG)
👉 Project Info
Section titled “👉 Project Info”
👉 License
Section titled “👉 License”Copyright © 2022, Harshhaa Reddy. Released under the GNU Affero General Public License v3.0.
Source Files On GitHub
Section titled “Source Files On GitHub”The full learning flow stays on this page. Open GitHub only when a step asks you to inspect code, fork the lab, or download source assets.