CI/CD Pipeline Optimization with ArgoCD and GitHub Actions
Benjamin Perove
Cloud Infrastructure Architect
DevOps Engineer
Argo
GitHub
Kubernetes
PolyScale
PolyScale.ai, an edge-first data company, contracted Benjamin to design and implement an automation system for building, testing, deploying, and monitoring their application stack.
Key Strategies
Utilized modern GitOps principles and Infrastructure-as-Code (IaC) to manage cloud resources.
Implemented a centralized git repository for generating manifests via Kustomize templates and Helm charts.
Setup continuous integration and testing with GitHub Actions for image builds.
Created custom entry points for injecting variables into container environments.
Automated continuous delivery pipelines using ArgoCD and Grafana APIs.
Rollback Mechanism
Implemented rollbacks under ArgoCD by updating the previous image tag on affected resources' manifests in the GitOps repository.
Rollbacks occurred within minutes, with zero downtime.
Hot Restart Considerations
Ensured safe hot restarts of Envoy proxy with zero packet loss or network interruptions using AWS NLB service annotations and Kubernetes container lifecycle events.
Configurations allowed for seamless updates to images without disrupting production services.
Results
The end result was a series of end-to-end pipelines for each component that was simple and easy to manage. Tests & builds were resolved by addressing code & environmental fixes, and deploys to Stage & Production were managed through a single git repository.