Executive Summary

This project demonstrates the implementation of a robust, production-ready CI/CD pipeline using the GitOps methodology. Leveraging best-in-class DevOps tooling—GitHub Actions, Terraform, Docker, Helm, and AWS EKS—the pipeline is designed to automate the infrastructure and application lifecycle from code commit to deployment, ensuring high traceability, modularity, and operational reliability. It is structured across two separate GitHub repositories: one dedicated to infrastructure-as-code and the other focused on application delivery and orchestration.


Architecture Overview

image.png

Repository Structure

  1. Infrastructure Repository (iac-vprofile)
  2. Application Repository (vprofile-action)

GitOps Implementation Strategy

At the core of this implementation is the GitOps paradigm—treating Git as the single source of truth for both infrastructure and application state. This was achieved through:


Infrastructure Automation Workflow

GitHub Actions Pipeline

The infrastructure pipeline (terraform.yml) executes in two stages:

  1. Validation Stage (on staging branch):
  2. Apply Stage (on main branch):

State Management and AWS Integration