Feeling overwhelmed by AI? Learn the Centaur Mindset. Read More →
Terminal output from ocsfkit gate showing a failed mapping-quality gate: grade F, average confidence 0.698 below the 0.70 threshold, and 5 unmapped source fields exceeding the max of 2

Your OCSF Pipeline Is Lying to You: Catching Silent Data Loss with ocsfkit

This week’s Rabbit Hole Generator pick was ocsfkit, and it’s aimed at a failure mode that doesn’t look like a failure at all: a security event that parses successfully, lands in your SIEM (Security Information and Event Management platform, the system that ingests and correlates security logs), and gets treated as trustworthy, while a real chunk of what it originally meant never made it through the translation. That translation step is normalization: taking a vendor’s raw event format (AWS GuardDuty’s JSON, Okta’s login logs, whatever a tool emits) and reshaping it into a common schema so different security tools can actually talk about the same event the same way. OCSF (Open Cybersecurity Schema Framework) is the industry’s current attempt at that common schema. The part nobody’s tooling handles well is what happens to the fields that don’t map cleanly. Most pipelines either silently drop them or silently guess, and a downstream analyst has no way to tell the difference between a field that was confidently mapped and one that was quietly invented. ...

September 25, 2026 · 11 min · Scott Algatt
Migration from Kubernetes to Cloudflare Pages

Migrating 7 Static Sites from Kubernetes to Cloudflare Pages with Claude Code

Series: How I Used Claude Code to Slash My Cloud Bill by 63% Part 1: The $198/Month Wake-Up Call Part 2: Migrating 7 Static Sites to Cloudflare Pages (you are here) Part 3: Killing the Load Balancer with Cloudflare Tunnel Part 4: Building a Home Router with a Raspberry Pi 5 Part 5: Connecting Everything with Tailscale Part 6: The Final Architecture - $74/mo and Zero Regrets The Problem: 5 Hops to Serve Static HTML As I covered in Part 1, my static websites were going through an absurd pipeline: ...

April 17, 2026 · 7 min · Scott

Infrastructure as Code with Terraform and GitHub Actions: A Kubernetes Case Study

Update (January 2026): The workflow patterns and concepts in this tutorial remain valid. If you’re following along, consider updating actions/checkout@main to a pinned version like actions/checkout@v4, and verify the latest Terraform Kubernetes provider version for your cluster’s API compatibility. As I’ve been working with Terraform more and more these days, I felt that it would be a good idea to move away from some of my other hacked together solutions in favor of Terraform. My next logical step was to focus on kubernetes management with terraform and github actions. This idea builds upon my previous Using Github to Manage Kubernetes article. As I started down this path, I realized that I needed a way to manage my state file. This is why I thought it was important to tackle the configuration I posted in Managing Your Terraform State File. ...

October 13, 2023 · 7 min · Scott