Ansible Playbook for Automated Linux Server Bootstrap and SSH Hardening
A fresh server is a liability until it's configured correctly. This tutorial walks through an Ansible playbook that handles user creation, package installation, SSH hardening, and UFW firewall setup in a single repeatable run.
EventBridge Pipe: Route S3 DataSync Task Events to SNS Alerts
Wire AWS DataSync task completion events through an EventBridge Pipe into SNS so your team gets notified the moment a sync job finishes or fails — no polling, no Lambda glue code required.
Git alias trick: one-liner to undo last commit but keep changes
Accidentally committed too early? This quick Git alias saves you from the frustration of retyping staged changes every time you need to roll back safely.
AWS Lambda Dead-Letter Queues with SQS: Capture and Replay Failed Async Events
Silent Lambda failures on async invocations discard event payloads permanently unless you have a safety net in place. This post walks through wiring an SQS dead-letter queue to a Lambda function and building a controlled replay script to recover those lost events.
GitHub Actions workflow to build and push Docker image to ECR
A working GitHub Actions setup that builds a Docker image on every push and pushes it to Amazon ECR. Covers the IAM side too, which is usually where things break.
GitLab CI/CD pipeline stages with artifact passing between jobs
Setting up a GitLab pipeline with explicit stages and artifact dependencies so build output actually reaches the deploy job without re-running everything.
Automating S3 to Glacier Data Tiering with Lifecycle Configuration Rules
S3 lifecycle rules let you shift objects through storage classes automatically, cutting costs without manual intervention. This tutorial walks through writing a lifecycle configuration, applying it via the AWS CLI, and validating that transitions are actually happening.
Github Actions Pipeline with sonarqube quality gate manual approval and helm rollback
A single GitHub Actions workflow that blocks deployment on a failed SonarQube gate, waits for a human to approve, and rolls Helm back to the previous revision if anything goes wrong.
IAM Roles and Least-Privilege Policies for CI/CD Pipelines on AWS
Long-lived AWS access keys in CI/CD pipelines are a liability — scoped IAM roles with temporary credentials are the correct architecture. This tutorial walks through trust policy design, OIDC federation, and the policy mistakes that cause real incidents.
boto3 EC2 inventory script with argparse profiles and structured logging
A Python CLI that lists running EC2 instances across regions using boto3 sessions, argparse, and paginators, with a fix for the NoRegionError that bit me mid-refactor.
☕ Support us · 💳 Monobank