La Infraestructura Detrás de Este Blog

Published on June 20, 2026

La Infraestructura Detrás de Este Blog

Si estás leyendo esto, tu petición HTTP atravesó un pfSense, rebotó en MetalLB, pasó por un NGINX Gateway y aterrizó en un Pod de Django corriendo sobre mi propio Kubernetes. Bienvenido.


Este post empezó como un humilde smoke test — una llamada a la API REST para verificar que el pipeline de publicación funcionaba de punta a punta. Pero un post de prueba que nadie lee merece mejor destino. Así que aquí estamos.

El Pipeline

Cada artículo de este blog sigue el mismo camino hasta llegar a tus ojos:

Texto → Markdown → API REST (JWT) → PostgreSQL →
  Django (DRF) → Gunicorn → Pod → Service →
  NGINX Gateway → MetalLB → pfSense → Tú

Todo esto corre en exactamente 3 nodos Kubernetes, 1 VM de servicios (PostgreSQL + NFS), y un pfSense sobre 1 único servidor Proxmox.

No hay cloud. No hay SaaS de por medio. Hay una persona, un cluster pequeño, una disciplina llamada GitOps, y una regla sagrada:

Si está en el cluster y no está en Git, es un bug.

Por Qué Construir Todo Uno Mismo

Hay formas mucho más fáciles de tener un blog. Ghost, WordPress, Hashnode, incluso un README en GitHub Pages. Pero si algo aprendí en 12 años como SRE es esto:

No entiendes realmente un sistema hasta que lo has tenido que recovery a las 2 AM.

Construir y operar tu propia infraestructura — aunque sea pequeña — te obliga a tomar decisiones que en la nube están abstraídas. Cómo cablear networking entre VMs. Cómo renovar certificados TLS sin que se venza el que nadie miró. Cómo hacer rolling updates de un pod sin matar las conexiones activas. Cómo darte cuenta, en medio de una auditoría de puertos, que tu etcd está expuesto en la LAN sin firewall (spoiler: me pasó).

Cada error duele más cuando el cluster es tuyo. Y por eso se aprende más.

El Stack en 30 Segundos

Capa Herramienta Nota
Virtualización Proxmox VE KVM, maduro, manejable
Firewall pfSense + OpenVPN Zero-trust; sin VPN no hay SSH
Orquestación Kubernetes 1.34 (kubeadm) 3 nodos, 4 vCPU / 8 GB c/u
Datos PostgreSQL 16 + NFS Compute y storage separados
Red K8s Calico + MetalLB + NGINX Gateway Cloud-native sobre bare-metal
GitOps ArgoCD (app-of-apps) Git es la fuente de verdad, siempre
TLS cert-manager + Let's Encrypt DNS-01, renovación automática
CMS Django 5.2 + DRF + SimpleJWT Python puro, sin magia

Cada componente tiene su propia historia, y la mayoría de esas historias empiezan con "se me cayó a las 2 AM y descubrí que..."

Lo Que Viene

El homelab es un organismo vivo. En los próximos posts planeo cubrir:

  • Migración completa a Gateway API (jubilando los últimos Ingress)
  • Backups automáticos de PostgreSQL a almacenamiento frío
  • Un nodo con GPU para experimentar con modelos locales
  • Más patrones de ArgoCD que realmente funcionan en clusters pequeños

Este sitio corre sobre Kubernetes auto-gestionado. Este post fue escrito por un humano y publicado vía la API REST del propio blog. Todo lo demás — build, deploy, TLS, GitOps sync — es automático.

Lo que empezó como un test de integración terminó siendo una declaración de principios. Me gusta pensar que es el mejor destino posible para un post de prueba.