ANDREW RILEY .
Back to journal
LinkedIn

I built a homelab agent control plane. Most of it is running. The product is not a chatbot with root. The…

26 Aug 2026

Originally published on LinkedIn ↗

I built a homelab agent control plane. Most of it is running. The product is not a chatbot with root. The product is the contracts: who may write what, where truth lives, which models may see which data, and how a bad merge is undone.

One human. Two hats.

The builder hat sits in the IDE. That is where I author GitOps, policy, the model front door, and the tool registry. Unattended agents do not rewrite those contracts.

The operator hat sits in a self-hosted run console. Missions start there. Specialists report back. Run agents open merge requests. The shared inbox is git. A reconciler applies the default branch. The cluster is disposable. Git, secrets, DNS, and the CA are not.

Agents split the work: - The orchestrator classifies BUILD versus RUN and dispatches. - Sub-agents stay on local or self-hosted models, use read tools, and return structured findings. They do not comment, open MRs, or call write tools. Public cloud is denied for them. - Run agents may mutate after policy allow: desired-state MRs, lab-guest snapshot or start or stop, write tools through one gateway. A human still merges main. Rollback is git revert.

The board in git (image) is the shape:

- Local inference first. One LLM proxy. Policy on every class. A dedicated GPU guest for chat and embeddings. Self-hosted overflow next. Public cloud last, vault token, never for sub-agents. - Observability in the design, not after. Host logs into Splunk. Traces and metrics off the cluster. Spend and GPU views on the house dashboards. - Security by construction. One secret store. One tool gateway, no raw MCP URLs. Short-lived SSH certs. Name-limited CA. Default deny. Writes stay on the run role.

Still dropping dual-write of workload secrets. The shape is the point.

#Homelab #AIAgents #GitOps #Observability

Image accompanying Andrew Riley's LinkedIn post