Delete a pod. Edit the cluster by hand. Penwave puts both back 🔁
On EKS, the ReplicaSet saw 1 of 2 pods and made a replacement, which joined once its readiness probe on /ready passed. ArgoCD's self-heal re-applied the kubernetes branch, so the hand edit was gone.
The clip is a simulation of both, with the real ReplicaSet name. The EKS version of Penwave was built on EKS Auto Mode with ArgoCD and Helm, and has since been spun down.
What's the first thing you try to break on a new cluster? 👇
🔗 aswin-shine.dev/work/penwave (http://aswin-shine.dev/work/penwave)
2
0
71
Architected an enterprise Kubernetes platform on Azure AKS for a fintech company running 40+ microservices. Traffic enters through Application Gateway with WAF v2 policies and Azure Firewall before reaching the AKS cluster inside a hub-spoke VNet. ArgoCD manages all deployments through GitOps with automatic drift detection and self-healing. ACR stores container images built by Azure DevOps Pipelines with integrated vulnerability scanning. Workloads connect to Cosmos DB, PostgreSQL Flexible Server, and Redis Cache through private endpoints. Azure ML handles fraud detection model inference called directly from within cluster pods. Entra ID with Managed Identities provides passwordless auth across all services.
Built a production-oriented GPU platform on AWS EKS with a strong focus on security, observability, progressive delivery, and cost-aware scaling. This case study shows how I design cloud foundations for AI workloads using Kubernetes, GitOps, policy guardrails, and platform automation.
1
71
A Kubernetes deployment should be easy to trace: what changed, who changed it, and why.
That’s what interests me about GitOps.
With GitOps, the desired state of your infrastructure and applications lives in Git. Changes go through commits and pull requests, while a controller such as Argo CD or Flux continuously reconciles the running environment with that desired state.
A typical workflow looks like this:
• Build and test the application through CI.
• Push the Docker image to a registry.
• Update the image version in the Git configuration.
• Review and merge the change.
• Let the GitOps controller reconcile the cluster.
The benefits go beyond automated deployments:
✅ A versioned history of configuration changes
✅ Reviewable changes before deployment
✅ Visibility into configuration drift
✅ A repeatable way to manage environments
One important detail: reverting a Git commit can restore an earlier configuration, but database migrations and changes to application data still need their own recovery plan.
For me, GitOps connects development and operations through a workflow both teams already understand: Git.
Are you using Argo CD, Flux, or CI-driven deployments for your Kubernetes workloads?