Blog
AWS, Azure, security, migrations, and practical DevOps.
Securing Bitbucket-to-Jenkins Access with an Auto-Syncing AWS Prefix List
Replace a wide-open 0.0.0.0/0 rule for Bitbucket-to-Jenkins webhooks with an AWS managed prefix list that stays in sync automatically via SNS.
Importing Existing Infrastructure into Terraform
Most infrastructure doesn't start in Terraform. Here's how to bring console-built and script-built resources under management without recreating them.
Passwordless Azure SQL: Entra Authentication and Managed Identity
Remove passwords from Azure SQL connection strings using Microsoft Entra authentication and managed identity, plus SSMS options and how to verify it works.
Using S3 as a Jenkins Artifact Store — Storage, Lifecycles, and Deploying from S3
Store Jenkins build artifacts in S3 instead of on the controller: built-in redundancy, lifecycle policies to control cost, and direct deploys from S3.
AWS S3 Account Regional Namespaces — Useful to New Users
AWS formalized what experienced teams have been doing themselves for years when naming S3 buckets. Here's what changed and who it actually helps.
Encrypting Unencrypted AWS EBS Volumes
A practical guide to encrypting existing EBS data and root volumes, and turning on account-level encryption defaults so the problem doesn't come back.
Logging Into Azure VMs with Microsoft Entra Credentials
How to configure Azure virtual machines to accept Entra ID logins with MFA support, including RDP file setup and hosts file configuration.
Setting Up S3 Cross-Account Replication
How to replicate S3 objects to a bucket in a different AWS account, including versioning, IAM, encryption, and bucket policy configuration.
Replicating Existing S3 Objects with Batch Operations
S3 replication rules only apply to new objects. Here's how to use Batch Operations to backfill data that existed before the rule was created.