Blog
Technical notes on Kubernetes, GitOps, cloud infrastructure, automation, and platform engineering.
2026
- What I Learned Contributing CIS Benchmark Updates to K3sA practical look at investigating a K3s security documentation issue, comparing CIS Kubernetes Benchmark 2.1, and learning the project's required assessment workflow.
- A Certificate Delivery Bridge Between Argo CD and Non-AWS ClustersHow a hub-issued Argo CD Agent certificate crosses an AWS Secrets Manager boundary through ESO PushSecret and ExternalSecret, without giving the non-AWS spoke ACM Private CA access.
- Making a Portfolio Discoverable: OG Images, JSON-LD, and the Canonical Domain TrapA practical writeup of the SEO and metadata work I did on this site — what Open Graph and JSON-LD actually are, how per-post OG images are generated at build time, and the www-vs-apex sitemap bug that quietly breaks indexing.
- When Argo CD Login Loops Forever: The argocd-agent Redis Proxy NetworkPolicy TrapDebugging an Argo CD login loop on a hub-and-spoke argocd-agent setup — from an OIDC callback loop and i/o timeouts down to a cross-chart NetworkPolicy gap that only bit us where enforcement was actually on.
- One Trust Anchor Per Cluster: Hardening Non-AWS Spoke Identity with IAM Roles AnywhereHow we gave RKE2/bare-metal spokes their own AWS identity without a shared trust anchor — one self-signed CA and anchor per cluster, one profile per role — so a stolen key is confined to its own cluster and a compromised consumer to its own role.
- A Custom Domain Email I Already Paid For: iCloud+ + HostingerI thought a professional you@yourdomain.com meant buying email hosting at my registrar. Turns out my existing iCloud+ 50GB plan already included it. Here is the full setup on Hostinger DNS.
- Kubeconform: Catching Invalid Kubernetes Manifests Before They Hit Your ClusterHow we added schema validation to our Helm chart CI pipeline using kubeconform — solving the CRD schema problem, extracting schemas from live clusters, and surfacing results directly in PR comments.
- Self-Hosted GitHub Actions Runners on EKS with Actions Runner Controller (ARC)Setting up GitHub Actions Runner Controller v2 on an existing AWS EKS cluster — from Helm installation and GitHub App authentication to troubleshooting missing tools on minimal runner images.
- Turning a Linux Laptop into a Cloud Gaming Server with Sunshine & MoonlightHow I set up game streaming from my GTX 1650 laptop running Pop!_OS to any device using Sunshine, Moonlight, and Tailscale — including fixing NVIDIA Optimus encoding issues and optimizing for quality.
- Restoring Google Takeout Data Back to Google Services — The Complete GuideHow I uploaded ~25GB of Google Takeout data (Drive + Photos) back to Google services with correct dates, GPS metadata, and album structure preserved using CLI tools.
- Starting vamsisethu.comWhy I am building a small portfolio and technical blog around DevOps, SRE, and platform engineering.
- Canonical JAAS Edge POC — Managing Multi-Site Infrastructure with Juju at ScaleA deep-dive into our Proof of Concept evaluating Canonical's JAAS (Juju-as-a-Service) for managing edge Kubernetes clusters from a central AWS EKS control plane, covering architecture, setup, findings, and production considerations.