Linux · operations · models

Linux, with a model
in the loop.

Notes from a real lab: RHEL and Kubernetes run by hand, watched by models that read the logs, propose the fix, and are wrong often enough that you keep reading. Practical, reproducible, nothing that needs a GPU cluster.

eric@lab:~$ journalctl -u nginx --since "10 min ago" | ai triage
  reading 412 lines · 6 errors · 1 repeating
  ↳ upstream sent too big header, /wp-admin/
  ↳ caused by fastcgi_buffers 16 16k (too small)
  suggested: fastcgi_buffer_size 32k; reload nginx
eric@lab:~$ # yes. that was it.

Three ways a model earns its keep

Not chatbots bolted onto a terminal. Narrow jobs, where the model sees what an operator sees and its output can be checked against the machine.

01 / triage

Read the noise

Journals, dmesg, auditd, eBPF traces. The model summarises what repeated, what is new, and what to look at first — with the log lines it used.

02 / change

Write, then get reviewed

Two models, one loop: one writes the playbook, one reads it in read-only mode and refuses to ship. The diff that survives is the one you run.

03 / guard

Keep a kill switch

Every automation that can touch a host needs a way to be stopped, a log of what it did, and a human who can say no without a rollback.

Latest notes

Field notes, newest first. Every command in them was run on a machine that is still up.

What runs here

The lab this site is written from: one Proxmox host, RHEL 10 guests, everything reachable over a single outbound tunnel.

  • RHEL 10
  • systemd
  • nginx
  • Podman
  • Kubernetes 1.35
  • eBPF / bpftrace
  • SELinux
  • Ollama
  • Ansible
  • Cloudflare Tunnel