available Spring 2027+ RIT CIT - 2028

DevOps : platform : SRE

I develop
Linux architecture

Currently a k3s cluster I run myself. Everything on it is declared in Git, so when I break something I can put it back.

  • k3s
  • Argo CD
  • OpenTofu
  • Cilium
  • Prometheus
  • Linux
Cole Wisniewski wearing glasses and a dark suit jacket

Rochester, NYavailable Spring 2027+

about Cole

I learn it by running it.

I am a CIT student at RIT. Most of what I know about running systems came from building one at home and then having to fix it.

Education
RIT · B.S. Computing and Information Technologies · GPA 3.6 · 2024 to present
Experience
Fredonia Central School · Summer IT Support · 2024 and 2025
Availability
Spring 2027 or later
Location
Rochester, New York
  • ship through Gitevery change is a commit I can revert
  • watch what happensalerts go to my phone, not a dashboard
  • plan for it breakingbackups, snapshots, and notes on what I chose

what I run

One box Split up on purpose.

One physical host and three guests. What goes where depends on how fast it needs to be and how much I trust it.

physical / 01

colewiz

Proxmox VE

  • Ryzen 5 3600X · 6c/12t
  • 32 GB DDR4
  • 7.27 TB ZFS + 1 TB NVMe
vm / 100

k3s-01

platform node

  • Cilium eBPF dataplane
  • 37 Argo CD Applications
  • GPU requests time-sliced
lxc / 201

amp

game server host

  • separate network boundary
  • dedicated resource limits
  • outside the web tunnel
lxc / 202

forge

source control

  • Forgejo + LFS
  • LAN only, on purpose
  • repositories on NVMe

platform stack

  • Kubernetes / k3s
  • Argo CD
  • Cilium / eBPF
  • OpenTofu
  • Prometheus + Grafana
  • SOPS + age
  • Cloudflare
  • Proxmox

Fast things go on the fast disk. Databases and game servers sit on the 1 TB NVMe. Media and downloads go on the 7.27 TB SMR drive, which is slow and has no redundancy, so nothing lives there that I cannot lose. Sanoid snapshots handle rollback, and the Postgres backups leave the box for R2.

selected work

Projects.

Some are running now. Others are still taking shape.

Happy biscuit on a peach background BiscuitIn progress A test rig for my AI agents to repair broken k3s VMs and check what changed.
  • Python
  • k3s
  • Proxmox
  • eBPF
↗
Server rack with status lights on a sky blue background homelabLive My k3s cluster on Proxmox, with applications reconciled from Git by Argo CD.
  • k3s
  • Argo CD
  • OpenTofu
  • Proxmox
↗
Shirt hanging from a hanger on a lavender background WardrobeActive A private virtual try on app with two GPU workers sharing one job queue.
  • Python
  • FastAPI
  • SQLite
  • ComfyUI
↗
Three terracotta lotus petals on a sage background jobscoutActive Finds infrastructure internships on company career sites and sends the best matches to my phone.
  • Python
  • PostgreSQL
  • Kubernetes
  • ntfy
↗
Tiger face with stripes on a yellow background TigerHubLive An RIT campus app that puts dining, events, maps and service hours in one place.
  • Flutter
  • Dart
  • GraphQL
↗
Plate in a sink beneath a faucet on a mint background DishwatcherActive A Raspberry Pi camera that reminds me when dishes stay in my kitchen sink.
  • Python
  • Raspberry Pi
  • OpenCV
  • FastAPI
↗
Magnifying glass on a teal background WizSearchArchived A desktop app I built to find sounds, GIFs and clips from one search box.
  • Rust
  • Tauri
  • React
  • TypeScript
↗
Quiz paper with one answer selected on a rose background QuizWizActive A self hosted quiz and study app built on GIFT question files.
  • Svelte
  • TypeScript
  • SQLite
↗

how I run it

Shipping is the easy part.

Every change needs a way to go out, a way to tell me it broke, and a way back.

deliver

3mreconciliation

Git wins arguments.

Two generators turn folders into Argo CD apps. If I change something by hand, it gets put back in about three minutes.

  • ApplicationSets
  • self-heal
  • Kustomize

observe

15dmetric retention

Alerts reach my phone.

Prometheus keeps 15 days of metrics under an 8 GB cap. Alertmanager pushes the ones worth reading to ntfy, sorted by topic so cluster noise does not bury the rest.

  • Prometheus
  • Alertmanager
  • Grafana
  • ntfy

recover

30ddatabase retention

Everything has a way back.

Six PostgreSQL clusters ship their write-ahead log and a daily backup to R2. Sanoid snapshots cover the files, so the database and the disk restore to the same moment.

  • CloudNativePG
  • R2
  • Sanoid
  • ZFS

architecture decisions

I wrote down why.

Seven records: what I picked, what it cost me, and what would make me change my mind.

read all 7 records
004

networking

Cilium replaces three components

One eBPF dataplane instead of three overlapping ones.

tradeoff

More power in one place, and more to go wrong there.

007

service mesh

No mesh on one node

On a single node it costs latency and complexity and gives nothing back.

revisit when

If I add nodes, or need per-service identity.

resume

The one-page version.

Everything above, on one page.

Education
RIT · B.S. Computing and Information Technologies · GPA 3.6 · expected 2028
Focus
DevOps · platform engineering · site reliability
Availability
Spring 2027 or later

The preview does not load in every mobile browser. Both links open the full PDF.