Caching Terraform Providers in a Kubernetes CI Pipeline Adding a PVC-based provider cache to speed up terraform init in ephemeral Jenkins CI agents.
Migrating SonarQube from AWS to Tencent Cloud A practical walkthrough of migrating SonarQube from AWS to Tencent Cloud, covering database migration, persistent storage, custom plugins, GitOps deployment, and the lessons learned along the way.
Upgrading Ghost and hitting MariaDB's charset trap Ghost forces `DEFAULT CHARACTER SET utf8mb4` on every CREATE TABLE, which makes MariaDB use `utf8mb4_general_ci` instead of `utf8mb4_unicode_ci`, breaking foreign keys on collation-mismatched columns.
Cleaning Up My Instagram Following List with Python A walkthrough on exporting Instagram data, parsing followers and following JSON files, and finding accounts that do not follow you back.
Expanding EC2 Root EBS Volume Without Downtime Expanded an EC2 root EBS system volume on Ubuntu 24.04.4 LTS (ARM) without downtime using Terraform.
Cleaning Up a 600k+ Object Versioned S3 Bucket Using Lifecycle Policies Deleting a versioned S3 bucket with 600k+ objects using aws s3 rm --recursive can become painfully slow, especially when delete markers and old versions remain behind. This write-up documents using S3 lifecycle policies instead to let AWS handle the cleanup internally.
Rundeck on Kubernetes with RDS and S3 Backend Rundeck deployed on EKS as a stateless job runner, using RDS for state and S3 for node inventory. Solves node loss from spot instances, uses a bastion for execution, and keeps setup minimal without introducing full CI/CD.