The Jenkins Job That Took 6 Tries
Provisioned a Jenkins CI/CD server on EC2 with Terraform. Hit six distinct failure points — hardcoded AMIs, Java version mismatches, AL2023's switch from yum to dnf, GPG key rotation — and documented every one.
Cloud DevOps Engineer · Orillia, Ontario
“Kitchens and cloud systems fail the same way.
I learned to prevent both.”
// About
I spent two decades managing commercial kitchens — First Cook at Horseshoe Resort, then Food Service at Costco Wholesale Canada. You learn fast that a kitchen at full service and a cloud system at peak load have the same failure modes: unclear ownership, missing redundancy, no recovery plan.
In 2024 I started formally bridging those worlds. Google Cybersecurity Certificate. Then the Level Up In Tech 37-week Cloud DevOps Engineering program, graduating May 2026. Now I build and document infrastructure on AWS — Terraform-provisioned, GitHub Actions deployed, version controlled, and publicly documented.
I write about the transition in my newsletter, Terraforming My Career — currently at 134+ subscribers and growing.
Cloud & Infrastructure
Infrastructure as Code
Containers & Orchestration
CI/CD & Automation
Systems & Local AI
// Projects
Provisioned a Jenkins CI/CD server on EC2 with Terraform. Hit six distinct failure points — hardcoded AMIs, Java version mismatches, AL2023's switch from yum to dnf, GPG key rotation — and documented every one.
Three-node Docker Swarm cluster on EC2 running a production WordPress stack. When a container dies at 2am, the orchestrator brings it back. No pager, no humans required.
AWS Polly neural text-to-speech pipeline with full GitHub Actions CI/CD. Converts text to audio across multiple languages on every push — OIDC auth throughout, zero stored AWS keys.
GitHub Actions pipeline authenticating to AWS via OIDC federation — no long-lived access keys stored anywhere. IAM role assumption using signed JWT tokens. The right way to do CI/CD security.
Automated security audit with systemd timer. First run flagged Apache2 exposed and Open WebUI bound to 0.0.0.0. Reduced flagged services from 3 to 0. Snap storage dropped from 54G to 30G — a 44% reduction.
Bash service watchdog with autonomous recovery. Monitors critical processes, detects failures, and restarts services without human intervention. Built and tested against live Ubuntu infrastructure.
// Contact
Based in Orillia, Ontario · Open to remote and hybrid across Canada