Saltar a contenido

Hoja de ruta

Las tareas están ordenadas por valor según el esfuerzo, primero para este clúster y luego para otros usuarios. Cada una dice a dónde va el trabajo, así cualquiera se puede tomar como proyecto.

A corto plazo

# Tarea Por qué Dónde
1 Métricas de la plataforma en Grafana: recolectar METRICS_ADDR (las métricas de disponibilidad ya se exportan ahí), agregar métricas de construcción y un panel ver que las construcciones se vuelven lentas o que crecen las colas antes que los usuarios un VMServiceScrape, un puerto de métricas en el Service, pipeline, platform
2 Entornos de vista previa por cada solicitud de incorporación (pr-42.app.joserod.space) probar los cambios antes de integrarlos platform (avisos web de solicitudes), render (sufijo en el nombre), limpieza al cerrarse

A mediano plazo

Tarea Por qué
Respaldos fuera de casa: copiar la cubeta de respaldos de Garage a una cubeta en la nube (Cloudflare R2, Backblaze B2) los respaldos sobreviven a perder todo el clúster
Versiones canario y A/B con los pesos canario de ingress-nginx publicar primero al 10 %; reversión automática ante errores
Contrato de extensiones: un contenedor que recibe JSON y devuelve un veredicto en JSON, en los ganchos antes del despliegue, después del despliegue y análisis compuertas de rendimiento con k6, experimentos de caos (Chaos Mesh), revisiones con IA, todo sin cambiar el núcleo
Generador con IA detrás de generate.Generator mejores rendimiento.yaml y Dockerfiles para repositorios poco comunes
Secretos desde un almacén externo (SOPS en git, Vault, 1Password) los secretos se vuelven reproducibles y auditables
Roles y bitácora de auditoría más de una persona lo puede usar sin riesgo
Plataforma de alta disponibilidad (elección de líder, eventos con LISTEN/NOTIFY) sin caídas al perder un nodo; vea Escalar
Tareas programadas (cron: en la especificación, generadas como CronJobs) reemplaza los últimos CronJobs escritos a mano

A largo plazo

Tarea Por qué
Agentes para varios clústeres y destinos en la nube (EKS, GKE, servidores físicos) desplegar la misma aplicación en las Pi y en la nube; vea Escalar
Entornos y promoción (desarrollo → pruebas → producción, por huella) la misma imagen, promovida cuando ya se probó
Aprovisionamiento de clústeres como extensión (Terraform o Crossplane) un clúster nuevo con un clic
Que cualquiera lo pueda instalar (paquete de Helm, imágenes para varias arquitecturas, sitio de documentación) vea Código abierto

Hecho

  • Repositorio → URL HTTPS en vivo; aplicación de GitHub, solicitudes de incorporación, detección y plantillas
  • Integración continua en un grupo de BuildKit repartido en los nodos trabajadores, con caché en el registro; construcciones sin Dockerfile con Railpack
  • El controlador de aplicaciones: adopción, poda, autorreparación, reversión, DNS, cargas con GPU, IP de la red local
  • needs: para Postgres, Redis y servicios existentes
  • Un motor de complementos (Helm y kustomize desde git), con vistas previas, compuertas de seguridad y ganchos de Helm, que reemplazó a ArgoCD
  • Renovate como complemento, que reemplazó al CronJob
  • ArgoCD y Jenkins desinstalados (2026-09-28)
  • Respaldos nocturnos de cada volumen que vale la pena conservar: rendimiento etiqueta los volúmenes que crea, y la página Entorno avisa de cualquier volumen en uso sin un respaldo reciente (2026-10-06)
  • El libro en español, página por página, con el mismo estilo de Cotija (2026-10-06)
  • Una cara nueva: Cotija, pueblo mágico. De día, paredes encaladas, tejas, papel picado y el guardapolvo color grana; de noche, un cielo añil, faroles y colores de alebrije. Cada aplicación es un cempasúchil que se marchita en una caída y revive cuando vuelve; caen pétalos cuando sale una versión. El movimiento se puede apagar y sigue el ajuste de reducir movimiento del dispositivo (2026-10-06)
  • Español de México: la interfaz con un interruptor EN/ES, los mensajes de la plataforma traducidos al mostrarse (también los guardados) y los correos en el idioma de NOTIFY_LANG (2026-10-05)
  • Los problemas se resuelven solos cuando rendimiento ve el arreglo: un envío posterior aceptado, un correo posterior enviado (2026-10-05)
  • La página Problemas: las advertencias y errores de la propia plataforma, agrupados, con un conteo en la barra superior y un aviso en la aplicación afectada; un rendimiento.yaml inválido es una ejecución fallida, una comprobación roja en GitHub y un correo (2026-10-05)
  • Las bases de datos de las aplicaciones pasaron a needs: [postgres]: podoi, wellness y stockpulse, cada una copiada y con el conteo de filas revisado, de noche y sin caídas (2026-10-05)
  • Estadísticas de entregas en el panel: despliegues, tiempo de entrega, tasa de cambios fallidos y tiempo de recuperación de los últimos 30 días, con la tendencia contra los 30 anteriores y líneas de doce semanas (2026-10-04)
  • El almacenamiento de objetos pasó de MinIO, cuyas imágenes ya no se pueden descargar libremente, a Garage: los respaldos de Longhorn y el archivo de registros (2026-10-04)
  • Tareas antes del despliegue: migraciones antes de la actualización; un fallo detiene la versión (2026-10-02)
  • Tareas después del despliegue: pruebas de humo y migraciones contra la versión en vivo, en su espacio de nombres; un fallo la revierte (2026-10-02)
  • Registros de los pasos archivados en MinIO (gzip) y borrados a los 365 días por una regla de ciclo de vida (2026-10-01)
  • Avisos por correo de construcciones fallidas, reversiones, caídas y recuperaciones (2026-10-01)
  • Verificación de versiones con reversión automática: cada versión se vigila 5 minutos y se revierte a la última buena si descompone un servicio (2026-10-01)
  • Comprobaciones de disponibilidad y la pestaña Confiabilidad: cada servicio se comprueba una vez por minuto, dentro del clúster y desde afuera; disponibilidad, tiempos de respuesta y caídas en gráficas con marcas de las versiones (2026-10-01)
  • Tareas: comandos como pasos de integración continua con secretos, para construcciones de Expo/EAS y pruebas de humo (2026-09-29)
  • El catálogo de Servicios, las comprobaciones del Entorno, el DNS dinámico
  • Pruebas remotas (make test-remote), y este libro