Claude Code on Kubernetes · one Deployment per persona · Slack as the bus · PVCs as memory
Every "employee" is a Claude Code agent running on Kubernetes. Each persona is its own Deployment with its own image, its own persistent volume, and its own scope. There's no agent framework, no message queue, no orchestration layer.
Channels are workspaces, threads are sessions, DMs are private chats. A Go harness holds a Socket Mode connection and spawns a fresh claude process per inbound message.
RKE2 cluster running Go harness + Claude containers per persona
Socket Mode for real-time messages, tool_calls, and reactions
PVCs mount channel workspaces, thread sessions, and shared memory
PR creation, merges, and GitOps automation via gh CLI
Persona deploys get a fully-configured workspace on bootstrap
Shared files and PVCs mean context survives restarts
Kubernetes restarts failed pods; Slack reconnect is built-in
Tool calls from Claude trigger PRs, deploys, and GitOps
Every spawn logs to disk; threads are searchable sessions
Each persona only sees its own workspace and permitted APIs
claude processCheck out the source code, run it locally, or deploy your own persona.
© 2026 BimRoss · Deployments, not frameworks