Terraform
-
Baking Hetzner images with Packer and cloud-init
Our Hetzner fleet went from 'cloud-init runs for four minutes per boot' to 'image is ready in seconds' with a reasonable Packer pipeline
-
Terraform state locks and the S3 bucket that wouldn't let go
A CI job was killed mid-apply and left a DynamoDB lock behind, and the recovery taught me to be much more careful about force-unlock