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.
iac-vprofile
)
terraform plan
and apply
jobs, integrated with branch protections and manual approvals.vprofile-action
)
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:
Branch Strategy:
staging
for experimental changes and validation (skipping terraform application satge).main
for production-ready changes, guarded by protected branch policies and pull requests.CI/CD Triggers:
staging
and main
branches.main
commits post-validation (skipping the plan stage)The infrastructure pipeline (terraform.yml
) executes in two stages:
terraform init
, validate
, and plan
to perform a dry-run analysis.terraform apply
.