Fixing Blue Ocean CSP Error After Plugin Upgrade After upgrading the Blue Ocean plugin, Jenkins started throwing CSP errors in the browser. I walked through the investigation, tried a few fixes that didn't work, and landed on a simple solution.
Checking if your GitLab instance is vulnerable to CVE-2026-19478 I walked through how to check if a self-hosted GitLab instance is vulnerable to CVE-2026-19478, a critical unauthenticated GraphQL injection.
Fixing duplicate DKIM-Signature header with AWS SES and Rspamd I debugged why AWS SES was bouncing outgoing emails with a 554 Duplicate header error, traced it to Rspamd DKIM signing conflicting with SES, and fixed it by disabling the milter in Postfix.
Fixing MariaDB column_stats upgrade error A walkthrough of fixing a MariaDB system table schema mismatch after upgrading to 12.3.3 in Docker Compose, including the root cause and how to prevent it from happening again.
Jenkins Azure AD login redirects to root instead of original URL A walkthrough of debugging a Jenkins OAuth redirect issue where users landed on the root URL after Azure AD login instead of the original page they requested.
Bypassing Cloudflare DNS to Speed Up Git Clone in Jenkins I diagnosed a painfully slow git clone in a Jenkins pipeline by tracing DNS resolution through Cloudflare and AWS, then eliminated the latency by resolving the domain directly to the GitLab VM's private IP using Kubernetes hostAliases.
Monitoring Docker Images with Diun and SMTP Notifications I set up Diun to watch my Docker containers for image updates, configured SMTP email notifications, and worked through several configuration gotchas along the way.
GitLab CI Pipelines Stuck After RDS Storage Filled Up Debugging GitLab CI pipelines stuck at "created" status, tracing the problem from a full EC2 root disk through an EBS resize that didn't fix anything, down to the real cause: an RDS PostgreSQL instance running low on storage from a growing, unconsumed replication slot.
Debugging SSL EOF Errors in Kubernetes with Nginx and SonarQube A CI pipeline kept failing with OpenSSL EOF errors when calling the SonarQube API. I traced the problem through two layers of nginx buffering and fixed it with three lines of config.
Upgrading SonarQube from Community to Enterprise A practical walkthrough of upgrading SonarQube from Community to Enterprise edition, covering license management, database cloning pitfalls, and Kubernetes pod restart debugging.
I Automated Google Index Status Checks for My Blog I had a long weekend, published multiple articles, and got tired of manually submitting each one to Google Search Console. So I asked AI to write a script that checks the index status of every article in my sitemap and submits the unindexed ones automatically.
A single trailing comma crashed our production pods A trailing comma in a JSON config file caused our Kubernetes pods to crashloop. Here is how I found it, what caused it, and how we prevent it from happening again.
SSH Failing on Tencent Cloud CLB After GitLab Migration I walked through debugging why SSH connections to a migrated GitLab instance were failing at the public CLB, and how adding a TCP listener on port 22 fixed it.
MariaDB Galera Cluster on hybrid cloud benchmark I benchmarked a MariaDB Galera Cluster across AWS, Proxmox, and a hybrid AWS-Proxmox setup, measuring throughput and latency under read-only, write-only, and mixed workloads. AWS won on performance, hybrid was a reasonable compromise.