Testing End-to-End Kubernetes Monitoring in My Local Lab
I intentionally broke a Kubernetes workload in my VMware Workstation lab to verify that the complete monitoring path could detect the failure, raise an alert, and return to healthy after recovery.
- The Terraform-managed lab combines VMware Workstation, K3s, a custom Python Kubernetes API monitor, Prometheus, Grafana, and Jenkins across four local virtual machines.
- An invalid container image caused the Python monitor to report three critical findings while Prometheus advanced the alert from pending to firing after its two-minute confirmation window.
- After repairing the deployment, the monitor returned healthy with zero findings, the Prometheus alert resolved, and the Jenkins health pipeline returned to a successful state.
Kubernetes
Python
Prometheus
Grafana
Jenkins
Terraform
VMware Workstation
Post on LinkedIn
View Source
Building a Practical SRE and AWS Automation Script Collection
I organized a reusable collection of Python and Bash utilities for the everyday reliability work that tends to arrive as a one-off request: log analysis, health checks, latency reporting, SLO checks, and AWS operations automation.
- The observability utilities parse access logs, identify top client IPs and 5xx rates, flag slow endpoints, calculate p95 and p99 latency, and evaluate SLO windows.
- The AWS utilities cover EC2 and Auto Scaling health remediation, CloudTrail-driven tagging, Bedrock-assisted log triage, vulnerability patch workflows, cost cleanup, and Terraform drift alerts.
- The repository is structured for practical use with examples, dependency metadata, a GitHub Actions syntax check, and dry-run defaults for potentially destructive operations.
Python
Bash
SRE
AWS
Observability
Automation
Post on LinkedIn
View Source
Building a Dual-VPC AWS Application Stack with Terraform
I built an AWS Terraform stack that separates web and management workloads across two VPCs, connects them with VPC peering, and deploys Lambda, API Gateway, Windows EC2, RDS, S3, and GitHub Pages automation.
- The networking layer creates separate Web and Management VPCs with public and private subnets, route tables, VPC peering, and cross-VPC DNS resolution.
- The application layer runs a Lambda web service behind API Gateway in the Web VPC while allowing database access to private RDS subnets in the Management VPC.
- The management side provisions a Windows Server EC2 instance with SSM and CloudWatch permissions, plus private RDS with security groups, parameter groups, alarms, and protected prod behavior.
Terraform
AWS
VPC Peering
Lambda
API Gateway
RDS
EC2
Post on LinkedIn
View Source
Building a VMware Workstation Monitoring Lab with Terraform
I rebuilt and expanded a local four-VM Kubernetes monitoring lab where Terraform orchestrates VMware Workstation, a custom Python monitor inspects the Kubernetes API, Prometheus and Grafana provide observability, and Jenkins runs automated health checks.
- PowerShell and Terraform build the VMware guests, install K3s, Prometheus, Grafana, Jenkins, Node Exporter, dashboards, and alert rules, and keep the environment repeatable through configuration hashes.
- The Python service checks Kubernetes pods and deployments, exposes JSON health status and Prometheus metrics, and feeds both Prometheus alerts and the Jenkins monitoring pipeline.
- I tested the complete workflow by deploying an invalid container image: the monitor reported three critical findings, Prometheus moved the alert from pending to firing, and the environment returned to healthy after the workload was repaired.
Terraform
VMware Workstation
Kubernetes
Python
Prometheus
Grafana
Jenkins
Post on LinkedIn
View Source
Managing AWS IAM Users and Groups from a Spreadsheet
I built a Terraform workflow that turns an Excel spreadsheet into AWS IAM users, groups, tiered permissions, and group memberships.
- A Python script reads users.xlsx, validates required columns, normalizes email and group names, and emits users.json as Terraform input.
- Terraform creates one IAM user per unique email, reuses built-in full-admin, basic-user, and read-only groups, and creates extra dynamic groups from the spreadsheet when needed.
- Group memberships are managed as the single source of truth, and the repo includes outputs for ARNs, user counts, group counts, member lists, and group admins.
Terraform
AWS IAM
Python
Excel
Automation
Post on LinkedIn
View Source
Private S3 Upload Automation with Terraform
I also added an S3 module example that creates a private, encrypted, versioned bucket and uploads a local folder while preserving file paths and MIME types.
- The bucket blocks public access, enforces server-side encryption, enables versioning, and denies non-SSL requests.
- Terraform walks the configured upload folder with fileset, maps file extensions to content types, and uploads changed files using etags.
- The bucket policy limits access to the deploying AWS account root while keeping the bucket private by default.
Terraform
AWS S3
Security
Automation
Post on LinkedIn
View Source
How I Make Local Infrastructure Labs Repeatable
The monitoring lab includes a build wrapper that ties VM cloning and Terraform apply into one repeatable workflow with status tracking and logging.
- The PowerShell wrapper creates status and transcript logs so a lab build can be reviewed after success or failure.
- It can refresh specific VM disks, skip hardware changes when needed, and then run Terraform apply against the generated Workstation inventory.
- This is the same pattern I like for operations work: make the manual path explicit once, then wrap it so the next run is predictable.
PowerShell
Terraform
SRE
Lab Automation
Post on LinkedIn
View Source