I’m Ellery D’Souza, a systems engineer in Vancouver, British Columbia. I’ve spent a bit over twenty years on low-level and infrastructure software, and the last few building on Kubernetes and GitOps. This site is where I write about the lab I run from my garage and what it teaches me.
Background
I spent twenty-one years at a network security vendor, most of it as a software architect. The work I’m proudest of there started as an aid for the training team, who wanted to run firewalls without hardware: I ported the firewall OS to run under VMware ESXi. That became a product line, and I went on to add Xen, KVM and Hyper-V and to do the AWS and Azure ports, mostly as the only developer on it. I also built the OEM firmware pipeline.
Since late 2022 I’ve been a software engineer at a networking company, working on a network management platform that runs as a service across sixteen Kubernetes clusters and as an on-premises appliance. I own a Go service that runs in each cluster, and I debug it with the same OpenTelemetry, Loki and Tempo stack I run at home.
In June 2026 I completed the CNCF’s Golden Kubestronaut, the five Kubernetes certifications plus the remaining CNCF exams. I have a BSc in Computing Science from Simon Fraser University.
The lab
Four Kubernetes clusters, all kubeadm. A bare-metal cluster of eight nodes does most of the work. A five-node Raspberry Pi 5 cluster runs the house, and a single PoE-powered Pi does the same job at a second site. A one-node VPS serves this site. Everything is in git and deployed by ArgoCD where I’ve got round to it, and by hand where I haven’t. I do all my development from inside a pod on the main cluster, which was the subject of the first post.
The projects
An algorithmic trading platform in Go, trading my own accounts through the Interactive Brokers API. It started as a command-line tool in 2014 and was rebuilt in 2024 and 2025 as services on the home cluster: gRPC and WebSockets, NATS JetStream, Postgres, tracing from the first commit. The strategy and the infrastructure are discussable. The code stays private.
An experiment. Since March 2026 I have directed a language model to write an operating system kernel and a type-1 hypervisor in Rust without writing or editing any of the code myself. The kernel runs Kubernetes on stock Debian binaries. The hypervisor runs one microVM per pod. The source is private; recordings of both doing the thing are public at iron-kernel-demos and iron-visor-demos.
Open source. A preview-environment-controller, a Kubebuilder operator that gives each preview its own namespace with quotas, a default-deny NetworkPolicy and optional ArgoCD integration. And a k8s-project-playbook, the documentation and templates I use to stand up a Go service on a self-hosted cluster.