GitOps Platform Architecture

Production-Grade Kubernetes CI/CD Pipeline
Brian Uckert | Completed November 2025
AWS EKS ArgoCD Terraform GitHub Actions External Secrets Kustomize

Executive Summary

This document outlines a production-grade GitOps architecture I designed and implemented featuring complete environment isolation, automated CI/CD pipelines, and enterprise security patterns. The solution demonstrates modern infrastructure-as-code practices suitable for high-volume, 24/7 production environments in financial services and other regulated industries.

Multi-Cluster Architecture

This implementation uses separate EKS clusters for DEV and PROD environments, each with its own ArgoCD instance and namespace isolationβ€”a pattern ensuring complete blast radius containment and compliance auditability.

☁️ AWS Account
DEV CLUSTER gitops-dev
πŸ”„ ArgoCD Instance
β€’ api-app-dev
β€’ demo-app-dev
βœ“ Auto-sync enabled
πŸ“¦ Namespaces
β€’ api-app-dev (2 pods)
β€’ demo-app-dev (2 pods)
βš–οΈ ALB Ingress Controller
Application Load Balancer
PROD CLUSTER gitops-prod
πŸ”„ ArgoCD Instance
β€’ api-app-prod
β€’ demo-app-prod
⚠ Manual sync only
πŸ“¦ Namespaces
β€’ api-app-prod (3 pods)
β€’ demo-app-prod (3 pods)
βš–οΈ ALB Ingress Controller
Application Load Balancer

Design Benefits

πŸ›‘οΈ Blast Radius

DEV issues cannot affect PROD systems

πŸ” Security

Different IAM roles/policies per environment

πŸ§ͺ Testing

Test cluster upgrades on DEV first

πŸ“‹ Compliance

PROD requires manual sync (audit trail)

πŸ’° Cost Control

Scale DEV down during off-hours

CI/CD Pipeline Architecture

GITHUB ACTIONS WORKFLOW
πŸ“€
Push to Main
Trigger
β†’
πŸ§ͺ
Run Tests
npm test
β†’
πŸ”¨
Build Image
Multi-arch
β†’
🐳
Push Registry
Docker Hub
β†’
πŸ“
Update GitOps
DEV overlay
⬇️ ArgoCD detects change β†’ Auto-syncs DEV cluster

Pipeline Features

Feature Implementation
Multi-Platform Builds Docker buildx for AMD64 + ARM64 support
Automated Testing Unit tests with coverage reporting before build
Semantic Versioning Automated image tags using GitHub run numbers
GitOps Integration Automated PR to deployment repository
Environment Promotion DEV auto-deploys; PROD requires manual approval

Secrets Management Architecture

πŸ”
AWS Secrets Manager
gitops/demo-api/dev
gitops/demo-api/prod
Encrypted & Audited
β†’
πŸ”„
External Secrets Operator
ExternalSecret CRD
1-hour refresh interval
β†’
☸️
Kubernetes Secret
Injected via envFrom
Pod environment variables

Security Approach Comparison

Approach Use Case Security Level
Git Secrets CI/CD build-time only ⚠️ Good for pipelines
K8s Secrets (plain) Quick testing ❌ Base64 encoded, not encrypted
External Secrets + AWS Production runtime βœ… Encrypted, rotatable, audited

πŸ”— Live Application Endpoints

Click any link below to interact with the running applications

🌐 Interactive Demo Environment

πŸ’‘ Try it: Visit the API endpoints and append /health or /tasks to test the REST API

API Documentation

The API App provides a full REST API for testing. Available endpoints:

Method Endpoint Description
GET /api API info and available endpoints
GET /api/health Health check
GET /api/tasks List all tasks
POST /api/tasks Create a new task
GET /api/echo?message=hello Echo service for testing
GET /api/protected/stats Protected endpoint (requires x-api-key header)

Metrics & Outcomes

Metric Result
Deployment Frequency Multiple per day (DEV), controlled (PROD)
Lead Time for Changes Minutes from commit to DEV deployment
MTTR (Rollback) < 2 minutes via git revert
Change Failure Rate Reduced via automated testing gates
Infrastructure Drift Eliminated via GitOps reconciliation

Relevant Certifications

LF
Introduction to DevOps & SRE (LFS162)
Linux Foundation β€’ 2025
LF
Introduction to GitOps (LFS169)
Linux Foundation β€’ 2025
OT
Mastering Observability with OpenTelemetry
LinkedIn β€’ 2025
AWS
Developing Generative AI Applications
Amazon Web Services β€’ 2025
HV
HashiCorp Vault
Udemy β€’ 2023
K8s
Introduction to Kubernetes
edX β€’ 2022