boot.sh — portfoliorunning
~$./boot.sh --env production
initializing runtime environment...
loading modules: [next.js] [docker] [terraform]
mounting routes → / /projects /case-studies
checking deployment status... OK
pipeline health: all systems nominal
EMMANUEL AO

DevOps Engineer · CI/CD · Cloud Infrastructure

Back to Projects
✓ lint
✓ test
✓ build
⟳ deploy
Terraform · Kubernetes · GitHub Actions
DevOps

Fully Automated GitOps Deployment Pipeline

A production-grade GitOps pipeline where every infrastructure and application change flows through version-controlled workflows. Terraform provisions the Kubernetes cluster, Helm manages application releases, and ArgoCD continuously reconciles the cluster state with the Git repository. No manual kubectl commands — ever.

Tech Stack

TerraformKubernetesGitHub ActionsArgoCDHelmDocker

The Challenge

Application deployments were manual and inconsistent across environments. There was no single source of truth for what was running in production, making debugging and rollbacks difficult and slow.

Architecture

Git is the single source of truth. Terraform provisions the Kubernetes cluster and supporting infrastructure. Helm charts define application configuration per environment. ArgoCD watches the Git repository and automatically applies changes to the cluster when a new commit is detected, ensuring the cluster always matches the declared state.

Deployment Strategy

GitHub Actions runs on every push: builds and tags the Docker image, updates the Helm chart values file with the new image tag, and commits back to the repository. ArgoCD detects the change and syncs the cluster automatically. No manual intervention required from build to production.

Outcome

Deployment frequency increased significantly. Rollback reduced to a single Git revert. Full visibility into what version is running in every environment at any time via ArgoCD dashboard.