Blog

Writing about things I'm building, learning, and tinkering with — from production engineering to home servers.

Series

Applications

Deep dives into the full-stack applications running on the on-prem cloud — architecture, backend design, APIs, frontend performance, and observability, end to end.

1 post
Series

RAG AI

Building retrieval-augmented generation systems — how RAG works, and what building one over the on-prem cloud’s own docs reveals about the approach.

1 post
Series

Agentic AI

Building production agentic systems with deepagents and LangGraph — orchestrator/subagent architectures, human-in-the-loop remediation, and what actually breaks when an agent gets to act, not just answer.

1 post
1

ops-agent: A LangGraph Agentic SRE Copilot

How ops-agent’s orchestrator delegates to fifteen scoped subagents, and the LangGraph mechanics — interrupt/resume, a CNPG-backed checkpointer — behind it.

Series

Building a Production On-Prem Cloud

An 8-part series on setting up a production-grade Kubernetes cluster at home — storage, networking, databases, GitOps, SSO, and shared application services. See the stack — Grafana, Gotify, Hubble, Uptime Kuma, Harbor, MinIO, Kafka, MongoDB, Redis, Nextcloud, Immich →

8 posts
2

Ceph CSI in Kubernetes: Bare-Metal Storage

Connecting a Ceph cluster to Kubernetes via the CSI driver for dynamic RBD provisioning — including the Cilium native routing gotcha that blocks OSD traffic.

6

Authentik: SSO for Your On-Prem Cloud

Putting every on-prem cloud service behind single sign-on with Authentik — the forward auth pattern, the auth-url hostname gotcha, and native OIDC for Grafana.

Connect