Getulio Ruiz
Hi, I'm a Platform Engineer writing about reliability, infrastructure, observability, and AI. If you want to know more, read about me.
Latest
How a sample moves through my VictoriaMetrics cluster
Three vmagents, two vmauths, two vminserts and three vmstorages on three workers: where a sample goes, why it gets stored four times, and what happened when I deleted pods on purpose.
Loki vs VictoriaLogs on a four-node homelab
Same logs into both for a day, the same five searches, then two rounds of k6, the second with both on equal pods, until one of them gave up.
Running a 30B model on integrated graphics
Moving kagent off a separate GPU box and onto the homelab host, and why the model that made it usable was the one that stopped reasoning.
Deleting an environment: from two clusters to one
I wrote a post arguing for develop and production. Six months later I destroyed develop, renamed the survivor, and rebuilt it from nothing.
All writing
26 articles
| Title | Summary | Topic | Date |
|---|---|---|---|
| How a sample moves through my VictoriaMetrics cluster | Three vmagents, two vmauths, two vminserts and three vmstorages on three workers: where a sample goes, why it gets stored four times, and what happened when I deleted pods on purpose. | Observability | |
| Loki vs VictoriaLogs on a four-node homelab | Same logs into both for a day, the same five searches, then two rounds of k6, the second with both on equal pods, until one of them gave up. | Observability | |
| Running a 30B model on integrated graphics | Moving kagent off a separate GPU box and onto the homelab host, and why the model that made it usable was the one that stopped reasoning. | AI | |
| Deleting an environment: from two clusters to one | I wrote a post arguing for develop and production. Six months later I destroyed develop, renamed the survivor, and rebuilt it from nothing. | Kubernetes | |
| Tailor and tape: right-sizing Kubernetes workloads from real usage | Two small services that measure what containers actually use and open a pull request adjusting requests and limits to fit. | Kubernetes | |
| Lestrade: AI triage for Grafana alerts | A webhook that catches Grafana alerts, asks an AI agent to investigate, and posts the analysis back to the chat thread before the on-call engineer finishes their coffee. | AI | |
| Platform cost dashboard with Evidence and DuckDB | A static cost dashboard for AWS and Datadog: no backend, no pipeline, just SQL in Markdown compiled to HTML. | FinOps | |
| Personal Knowledge Base With the LLM Wiki Pattern | How I'm using Claude Code to maintain a personal wiki of articles and ideas, instead of letting them rot in browser tabs. | AI | |
| Hearing When Claude Code Finishes | A tiny play script wired into Claude Code hooks so I stop missing prompts when the window is minimized. | AI | |
| kagent: AI Agents for Kubernetes with LM Studio | How I deployed kagent in my homelab cluster, pointing to an LM Studio instance running a reasoning-distilled Qwen model on a separate GPU machine. | AI | |
| Rebalancing Pods with Descheduler | The Kubernetes scheduler places pods once. Descheduler fixes the imbalances that build up over time. | Kubernetes | |
| Self-hosted Bookmarks with Linkding | I keep switching browsers, so I needed my bookmarks somewhere that doesn't depend on any of them. | Self-hosted | |
| Monitoring Endpoints with Blackbox Exporter | Probing services from the outside to check if they're up, how fast they respond, and if TLS is valid. | Uptime | |
| Autoscaling with KEDA | Event-driven autoscaling in the homelab using KEDA to scale the ArgoCD repo-server on Git fetch rate, not just CPU. | Kubernetes | |
| TLS in a Homelab with cert-manager | HTTPS with Let's Encrypt on a homelab that isn't exposed to the internet, using DNS-01 validation and Cloudflare. | Security | |
| Alerting to Slack | One alerting path: Grafana-managed rules provisioned by grafana-operator, evaluated against Thanos, delivered to Slack. Alertmanager is gone. | Alerts | |
| The Log Stack | Fluent Bit forwards, Fluentd aggregates, Loki stores: rebuilding the logging pipeline around fluent-operator. | Observability | |
| The Metrics Stack | Prometheus, Thanos, and Grafana in the homelab: what gets scraped, where it goes, how long it lives. | Observability | |
| GitOps with ArgoCD | How GitOps is structured in the homelab: wrapper Helm charts plus an app-of-apps chart that generates one ArgoCD Application per component, ordered by sync-wave. | GitOps | |
| The Observability Stack | How observability fits together in the homelab: Prometheus and Thanos for metrics, Fluent Bit, Fluentd, and Loki for logs, all on Grafana and MinIO. | Observability | |
| Building a Homelab | I wanted a real environment to learn. After two years of local clusters, I finally built one. | Kubernetes | |
| Prometheus Certified Associate (PCA) | Learning Prometheus the long way, then taking the PCA as the checkpoint. | Certifications | |
| Multi-Region Disaster Recovery with AWS Backup | Cross-region and cross-account backup strategy using AWS Backup, logically air-gapped vaults, and RAM sharing. | AWS | |
| Certified Kubernetes Administrator (CKA) | The CKA is a hands-on exam. No multiple choice, just a terminal and real tasks. | Certifications | |
| Terraform Associate (002) | I was already using Terraform daily, so the cert felt like a natural checkpoint. | Certifications | |
| From Java Architect to Platform Engineer | How I went from building Java services to caring about what runs underneath them. | Career |