Posts

Showing posts from May, 2025

Creating Spotify Playlists with Terraform: Overcoming Spotify’s OAuth Update

Image
Spotify recently made a change to its OAuth policy — they no longer allow http://localhost as a redirect URI for authentication flows . For developers working locally, this caused quite a disruption, especially for tools relying on OAuth like the Terraform Spotify provider. Learn more What’s the Problem? The original Spotify Auth Proxy server ( written in Go by Conrad Ludgate ) had the redirect URI as http://localhost . Since Spotify now blocks this URI for security reasons, anyone trying to authenticate would hit an INVALID_CLIENT: Invalid redirect URI error. This effectively broke the Terraform Spotify provider’s authentication flow. The Workaround: Use 127.0.0.1 Instead of localhost Spotify still allows redirect URIs using the IP loopback address 127.0.0.1 with HTTP, so the trick is to replace http://localhost with http://127.0.0.1 . They behave the same for local testing but Spotify accepts only the latter now. My Solution: Rebuild the Auth Proxy in JavaScript While I ...

Building a Production-Grade CI/CD Pipeline with Kubernetes and Jenkins

Image
As someone exploring real-world DevOps workflows, I recently followed and extended a corporate-level CI/CD pipeline tutorial that walks through deploying Jenkins, SonarQube, Nexus, and Kubernetes on AWS EC2. While the base tutorial provided solid guidance, I added my own twists and documentation to make the setup production-ready. In this blog, I’ll walk you through every step—from provisioning infrastructure to building a 13-stage Jenkins pipeline, and finally setting up monitoring with Prometheus and Grafana. To keep it clear and structured, this blog is divided into 8 sections : Infrastructure Setup – Provisioning EC2 instances and preparing the environment Cluster Configuration – Setting up Kubernetes master and worker nodes Tool Installation – Installing Jenkins, Docker, SonarQube, Nexus, and other tools Jenkins Configuration – Plugin setup, credentials, tool integrations CI/CD Pipeline Breakdown – Full Jenkins pipeline for code checkout, build, scan, and depl...