A collection of Terraform projects for deploying various infrastructure patterns on Google Cloud Platform. This repository is intended to showcase Infrastructure as Code (IaC) skills for a professional resume.
Each folder in this repository contains a standalone Terraform project demonstrating a specific cloud architecture.
Before you begin, ensure you have the following installed and configured:
- Terraform: Version
1.3.0or newer. - Google Cloud SDK: (
gcloudCLI) Authenticated to your GCP account (gcloud auth application-default login). - A Google Cloud Project with the required APIs enabled (e.g., Compute Engine, Kubernetes Engine, Cloud Storage).
To deploy any of the projects, follow these steps from your terminal:
-
Navigate to a project directory:
cd <project-folder-name>
-
Create a configuration file: Create a file named
terraform.tfvarsand provide the required variables. At a minimum, you will need your GCPproject_id. -
Initialize Terraform: This will download the necessary providers.
terraform init
-
Apply the configuration: This will create the resources in your GCP project.
terraform apply
Description: Deploys a secure, highly available static website using Google Cloud Storage. This project includes a separate bucket for access logging and provisions placeholder content for immediate demonstration.
For details on usage, inputs, and outputs, see the static-Website/README.md.
Description: Provisions a complete, auto-scaling, and load-balanced web application infrastructure on Google Compute Engine. It is designed for high availability and security by placing instances in a private subnet with a Cloud NAT for egress traffic.
For details on usage, inputs, and outputs, see the scalable-Web-Application/README.md.
Description: Deploys a production-ready, VPC-native Google Kubernetes Engine (GKE) cluster. This configuration focuses on security and modern best practices by creating a private cluster with autoscaling node pools.
For details on usage, inputs, and outputs, see the container-App-GKE/README.md.