Writing
10 posts · tagged infra · oldest Feb 2025
- Five months, two repos, one lesson: the model was the easy partA retrospective on OpenOperator. What I would keep, what I would redo, and why a commit called "remove hardcoded API keys" landing a year late is the most honest thing in the history.agentsinfraretrospective6 min
- One proxy pod per VM does not scaleA design that is obviously right at n=1 and obviously wrong at n=20, with no warning in between. The commit that deleted it is the best one in the repository.kubernetestraefikarchitectureinfra6 min
- Forty minutes to ninety seconds: VolumeSnapshots as golden images for VMsOne Helm chart, two completely different storage topologies behind a single boolean. Plus the two bugs it cost — a StatefulSet naming convention and a substring match that matched too much.kubernetesazurehelminfra7 min
- Shipping a 6 GB ISO to every pod (and then deleting the storage key)An initContainer that pulls once, one PVC projected into eleven mount points via subPath, and a three-month migration from a storage key to workload identity.kubernetesazuresecurityinfra7 min
- Nested virtualisation on AKS: yes, you can run KVM in a podhostPath /dev/kvm, privileged: true, and the Deployment→StatefulSet migration. Plus the annotation that stops the autoscaler evicting a forty-minute Windows install.kubernetesazureqemuinfra7 min
- The bootstrap from hell: provisioning a Windows guest you cannot SSH intoNo SSH, no cloud-init, no config management. Just a .bat file, an SMB share the hypervisor provides, and one Task Scheduler flag that decides whether your screenshots are black.windowsdockerinfraautomation9 min
- You cannot debug an agent from logsThe day we put noVNC in front of the guest, our mean time to diagnosis dropped by an order of magnitude. Failures in computer use are visual.agentsdebugginginfra4 min
- QEMU in Docker: a real Windows 11 VM as a containerIt is not Windows in a container. It is QEMU in a container with a Windows ISO and an unattended answer file — and the difference is three lines of compose.yml.dockerqemuwindowsinfra7 min
- The API is the screenWhy we built an agent that uses Microsoft Teams the way a person does — and why the model turned out to be the easy part.agentsaiinfra7 min