This repository contains a collection of infrastructure automation and configuration management projects using Terraform and Ansible — two powerful tools in the DevOps ecosystem. These projects demonstrate how to automate cloud infrastructure provisioning and post-deployment configuration in an efficient, repeatable, and scalable manner.
Each project includes IaC (Infrastructure as Code) scripts, playbooks, inventories, and step-by-step documentation.
Project Highlights:
- Provisioning cloud infrastructure (AWS) using Terraform
- Creating reusable Terraform modules for networking, compute, and storage
- Automating software installation and configuration using Ansible
- Combining Terraform and Ansible for full-stack infrastructure setup
- Managing EC2 instances, security groups, VPCs, and IAM roles using Terraform
- Using Ansible for package installation, service configuration, and user management
- Ansible dynamic inventory with AWS EC2
- Executing Ansible playbooks remotely using SSH and keys
What I Learned:
- Writing efficient and reusable Terraform modules
- Managing infrastructure lifecycle using
terraform init,plan,apply, anddestroy - Defining variables, outputs, and resource dependencies in Terraform
- Handling sensitive data using
terraform.tfvarsand environment variables - Writing Ansible playbooks with roles, tasks, handlers, and variables
- Running Ansible against local and remote servers using static and dynamic inventories
- Using Terraform and Ansible together for complete infrastructure provisioning and configuration
Tools & Technologies Used:
- Terraform (with AWS provider)
- Ansible
- AWS (EC2, VPC, S3, IAM)
- Ubuntu/Linux
- Git & GitHub
- VS Code & CLI tools
- YAML, HCL, Shell scripting
This repository reflects my experience in infrastructure automation using industry-standard tools and best practices. The goal is to reduce manual effort, ensure consistency, and improve reliability when working with cloud environments.
Explore each project directory for full documentation and usage instructions.