Bozeman, Montana · graduating Fall 2026

Kaden Bach

I build and operate infrastructure. Not in a lab exercise — an eight-node Kubernetes cluster running in my apartment, on hardware I bought, broke, and repaired. It serves this page.

The fleet

Heterogeneous on purpose. Every distro on this list taught me something different about the layer underneath Kubernetes.

Nodes
8
Distros
8
Architectures
2
Namespaces in service
12
  • Control plane

    Ubuntu · x86_64 · RTX 2070

    etcd, API server, GPU inference, Tailscale exit node

  • Storage

    AlmaLinux · x86_64

    NFS server, MinIO object store, Loki backend

  • Worker

    Debian · x86_64

    DNS sinkhole, media automation

  • Worker

    Fedora · x86_64

    General scheduling

  • Worker

    Arch · x86_64

    General scheduling

  • Worker

    Void Linux · x86_64 · runit

    Hand-written kubelet service — no systemd anywhere

  • Worker

    Raspberry Pi OS · aarch64

    Multi-arch scheduling, SPI flash programmer

  • Security node

    Parrot OS · x86_64 · transient

    Joins the cluster only when I'm using it

Node names and addresses are deliberately omitted. Publishing an inventory of your own attack surface is a choice, and it's the wrong one.

Work

TODO – TODO

Undergraduate Course Assistant

Montana State University · Bozeman, MT

  • TODO — which course, and roughly how many students you supported per term.
  • TODO — held lab hours / graded / debugged student code. Be specific about the language and the failure modes you saw most.
  • TODO — anything you changed about how the material was taught.
TODO – TODO

Front Desk Manager

TODO employer · Bozeman, MT

  • TODO — team size you were responsible for.
  • TODO — a process or system you owned. Scheduling, escalations, cash handling, whatever it was.
  • TODO — one number. Managers who quantify get read differently than managers who don't.

Projects

Things that run continuously, not things that ran once.

Kubernetes homelab

in production

Eight nodes bootstrapped with kubeadm across seven distributions and two architectures. Flannel CNI, ingress-nginx, cert-manager against an internal CA, Authentik SSO in front of every internal service, Vault for secrets, Kyverno admission policy, and Falco for runtime detection.

The interesting part isn't the install — it's the recovery. Power loss means manual Vault unseal, NFS remount ordering, and stale-IP hostAliases to chase. I keep a runbook because I've needed it.

kubeadm · Flannel · cert-manager · Vault · Kyverno · Falco

Observability stack

in production

kube-prometheus-stack with Loki for logs and Grafana Alloy collecting from every node, backed by S3-compatible object storage I run myself. Alertmanager routes to chat, and the alerts are tuned enough that I read them.

Chased a Grafana memory leak to a duplicated environment variable where last-entry-wins made the dynamic resourceFieldRef value inert. The container had been ignoring its own memory limit for weeks.

Prometheus · Loki · Grafana Alloy · MinIO · Alertmanager

Homelab dashboard

in production

A single-pane operations console I wrote from scratch: Python aiohttp backend, vanilla JavaScript frontend, no framework. Live Prometheus queries, node and workload tables, SSO event feed, and a browser terminal for kubectl.

The first version took sixty seconds to load because each Prometheus query was serialized behind flaky cluster DNS. Fixed with parallel queries, a background cache warmer, and tuned ndots. Two seconds now.

Python · aiohttp · Prometheus API · vanilla JS

Catscript compiler

coursework

A full compiler in Java for a statically typed language: tokenizer, recursive-descent parser, type checker, and a backend emitting real JVM bytecode. Test-driven from the first commit.

Java · JVM bytecode · recursive descent

Colonist.io card counter

published

A Chrome extension that tracks hidden state in a browser board game by reading the public game log and maintaining probability distributions over each opponent's hand. Published to the Chrome Web Store.

JavaScript · Chrome extension APIs · DOM observation

Offensive security practice

ongoing

Binary exploitation, network security, and cryptography coursework, plus capture-the-flag work on pwn.college. Buffer overflows, ROP chains, and format-string bugs — the reasons the hardening on this page's deployment is not decorative.

x86-64 · GDB · pwntools · Wireshark

Stack

Ordered by how much I'd want to be quizzed on it.

Infrastructure

  • Kubernetes strong
  • Linux administration strong
  • Docker & containerd strong
  • Networking & DNS working
  • Terraform familiar

Languages

  • Python strong
  • Java strong
  • Bash strong
  • JavaScript working
  • C working
  • R familiar

Practice

  • Observability strong
  • Incident recovery strong
  • Security hardening working
  • CI/CD working
  • Data analysis working

Education

Expected Fall 2026

B.S. Computer Science, minor in Data Science

Montana State University · Bozeman, MT

  • Coursework: compilers, computer security, networks, statistics and R, data structures and algorithms.
  • TODO — GPA if it helps you, honors, scholarships, relevant clubs.

Contact

Open to internships and new-grad roles in platform, infrastructure, SRE, and backend engineering. Bozeman-based, happy to relocate.

  • Email
  • GitHub Kadendabach
  • Location Bozeman, Montana