Recent Posts
-
Runbook Notes 007: Conditional Jobs & Dynamic Logic
Runbook can now make runtime decisions with boolean expressions, environment variables, and manual approvals. And it's powered by a language I wrote a year ago, called PinguLang
-
Runbook Notes 006: Github Integration
This update covers Runbook’s GitHub integration — from OAuth logins to pulling repos and running workflows. After a week of battling JWT tokens, it finally works!
-
Runbook Notes 005: Quotas and Limits
This update is about guardrails: adding runtime quotas to track usage minutes, and concurrency limits to keep users from running too many workflows at once. With SQL tricks, pending workflow queues, and a touch of fairness, Runbook is getting closer to production-ready orchestration.
-
Runbook Notes 004: Cloud-Native Graceful Shutdowns
Runbook finally supports graceful shutdowns. In this update: fixing the lost context cancellation from Note 002, using Go’s errgroup to propagate errors, and a neat state-management pattern with first-class functions. No more zombie pods when workflows fail or get cancelled.
-
Runbook Notes 003: New UI, Deadlocks, and AI Overengineering
Goodbye juggling multiple terminals, hello frontend! In this update: workflow visualizations, over-engineered log deduplication, and the self-deadlock that stole an afternoon from me.
-
Runbook Notes 002: Kubernetized
In this note, I dig into what changed when Runbook went Cloud-Native™: YAML parsers betrayed me, Go contexts stopped working, logs got messy, and yet... orchestration got real. Also, I'm pattenting the BORE acronym, and I still don’t have a database.