DevOps Hub: centro de control de despliegues, clústeres y equipos
Una aplicación de escritorio y móvil que reúne en un solo lugar todo lo que un equipo de desarrollo necesita para publicar cambios, vigilar sus sistemas y organizar su trabajo, sin tener que saltar entre diez herramientas distintas.Monorepo full-stack en TypeScript (React 19 + Tauri 2 + dos backends NestJS 11) que orquesta GitLab, Kubernetes/GKE, MongoDB, Docker y Google Cloud Monitoring, con un módulo de gestión de equipos sobre PostgreSQL, RBAC por permisos y asistente de IA multi-proveedor.
El problema
Publicar una nueva versión de software en una empresa con varias plataformas de clientes implicaba muchos pasos manuales: revisar y aprobar cambios, lanzar despliegues, comprobar que los servidores siguieran sanos, sacar copias de seguridad y montar el entorno local de cada proyecto. Cada paso vivía en una herramienta diferente y un error (por ejemplo, actuar sobre el entorno equivocado) podía afectar a producción. Además, las tareas y tickets del equipo se seguían por separado, sin relación con lo que realmente se desplegaba.El flujo de release dependía de operaciones manuales en GitLab (merge, tags con keywords de CI/CD, bump de versiones), kubectl contra múltiples clústeres GKE con contexto global compartido, backups/restores de MongoDB dentro de pods y levantamiento local de decenas de microservicios con Docker Compose. No había trazabilidad ticket → MR → despliegue ni control de acceso centralizado, y el riesgo de ejecutar comandos destructivos en el clúster incorrecto era real.
La solución
Diseñé y construí una aplicación que automatiza el ciclo completo: revisar y fusionar cambios, desplegar con un clic, ver en vivo el estado y los registros de los servidores, hacer copias de seguridad y restaurarlas, y levantar el entorno de trabajo local. Tiene dos modos: uno técnico para desarrolladores y otro de gestión para todo el equipo (tareas, tickets, operaciones por fases, inventario, usuarios), con acceso según el rol de cada persona. Funciona como programa instalable en Windows y Linux, se actualiza sola y también se puede usar desde el móvil. Incluye un asistente de IA que responde dudas sobre la herramienta y redacta descripciones de cambios.Arquitectura de tres piezas: (1) frontend React + Vite con patrón ViewModel (páginas presentacionales, lógica en hooks, HTTP solo en servicios), empaquetado como app Tauri 2 con system tray, auto-update firmado con Ed25519 y el backend de operaciones embebido como sidecar compilado con pkg, y también como PWA; (2) backend 'dev' NestJS sin BD que envuelve GitLab (gitbeaker + REST fallback, GitHub vía Octokit), kubectl/GKE, MongoDB, Docker Compose, Google Cloud Monitoring y MQTT, con streaming por Server-Sent Events; (3) backend 'estándar' NestJS + PostgreSQL/TypeORM con JWT, RBAC granular por permiso ('modulo:accion'), activity logs obligatorios, paginación server-side, más de 20 módulos de negocio y un DevProxy autenticado que permite usar el backend local desde el móvil vía túnel. Decisiones clave: las operaciones Git de merge/deploy nunca tocan la copia de trabajo del usuario (commit-tree + worktrees temporales y lock por repo), y toda operación destructiva en Kubernetes exige clúster explícito y fija el --context en cada comando.
El resultado
Un proceso que antes exigía varias herramientas y mucho cuidado manual se hace ahora desde una sola pantalla, con confirmaciones, historial de quién hizo qué y protecciones para no tocar producción por error. El equipo puede seguir sus tareas y tickets y ver cuáles ya llegaron a cada plataforma.Más de 430 commits en ~10 meses, ~400 archivos TS/TSX (frontend ~190, backend operaciones ~60, backend estándar ~160) y un shell Rust; 35 tags de versión con pipelines de GitHub Actions por keyword (instaladores Windows .exe/.msi y Linux .deb/.AppImage publicados en Releases; deploy del backend vía API GraphQL de Railway); PWA en Cloudflare Pages; suite de pruebas de seguridad aislada (stubs de kubectl/gcloud/docker/git y repos sandbox) que el repo documenta con 259 casos; auditoría de seguridad documentada (inyección de comandos, SSRF, escalada de privilegios) con correcciones versionadas.
Lo más destacado
- Despliegues con un clic y con red de seguridad: la app impide actuar sobre el entorno equivocado y nunca pisa el trabajo local del desarrollador.Merge, deploy y bump de versiones en GitLab ejecutados con git commit-tree y worktrees desechables (sin tocar el working copy), lock por repositorio (409), pushes sin force y lista blanca de keywords de CI/CD validada en backend y frontend; toda acción destructiva en Kubernetes/Mongo requiere clúster explícito y --context por comando.
- Una misma base de código funciona como programa instalable en Windows y Linux, como app móvil y se actualiza automáticamente.Tauri 2 con backend NestJS empaquetado como sidecar binario (pkg), updater firmado con Ed25519 y manifiesto generado en CI, build PWA separado (vite-plugin-pwa/Workbox) desplegado en Cloudflare Pages; releases disparados por tags con keywords.
- Visibilidad en tiempo real de los servidores: estado, registros y alertas de salud de varios clústeres, además de copias de seguridad y restauraciones de bases de datos verificadas.Watcher de pods con SSE filtrado por clúster y suscriptor, logs de kubectl en streaming, integración con Google Cloud Monitoring (ADC) con caché compartida, backups/restores de MongoDB con verificación de conteos e importación por streaming (mongodump/mongorestore) para colecciones grandes sin agotar memoria.
- Módulo de gestión de equipos con roles y permisos: tareas con cronómetro, tickets de soporte, operaciones por fases, y trazabilidad de qué cambio se desplegó en qué plataforma.NestJS + PostgreSQL/TypeORM con JWT revalidado contra BD en cada petición (revocación inmediata), guard de permisos por handler, activity log en cada escritura, seeders idempotentes, paginación server-side y registro MR↔ticket con estado 'desplegado en' por plataforma.
- Seguridad tomada en serio: auditoría propia que encontró y corrigió fallos importantes, respaldada por cientos de pruebas automáticas que no tocan sistemas reales.Hardening documentado contra inyección de comandos (execFileSync + validadores), SSRF en el proxy, escalada de privilegios y enumeración de usuarios por timing; Helmet, CORS restrictivo, rate limiting, bind a 127.0.0.1 y redacción de secretos en logs; suite 'test:safety' con dobles de kubectl/gcloud/docker/git y sandbox de repos.
Mi rol
Diseño y desarrollo end-to-end en solitario: arquitectura, frontend, dos backends, shell de escritorio en Rust, CI/CD, despliegue en la nube, auditoría de seguridad y documentación técnica.
Habilidades que demuestra
Stack
- Desarrollo full-stack
- Automatización de procesos DevOps
- Integración de APIs (GitLab, GitHub, Google Cloud, proveedores de IA)
- Aplicaciones de escritorio multiplataforma
- Aplicaciones web progresivas (PWA) y diseño responsive
- Diseño de sistemas de roles y permisos
- CI/CD y despliegue en la nube
- Orquestación de contenedores (Kubernetes, Docker)
- Bases de datos relacionales y NoSQL
- Seguridad de aplicaciones y auditoría
- Pruebas automatizadas
- Integración de IA generativa en producto
- Arquitectura de software y documentación técnica
- TypeScript
- React 19
- Vite
- Tailwind CSS v4
- Flowbite React
- Recharts
- Tauri 2 (Rust)
- Node.js
- NestJS 11
- PostgreSQL
- TypeORM
- JWT / Passport
- MongoDB
- Kubernetes (GKE, kubectl)
- Docker Compose
- GitLab API (gitbeaker)
- GitHub API (Octokit)
- Google Cloud Monitoring
- MQTT
- Server-Sent Events
- Gemini / Groq / OpenRouter y otras APIs de LLM
- GitHub Actions
- Railway
- Cloudflare Pages
- PWA (Workbox)
- pnpm
Actividad
77 días trabajados en el último año · Activo hace 4 semanas
Cómo ha avanzado
- Semana del lun, 21 sept 2026Auditoría de seguridad completa: se corrigen fallos, se actualizan dependencias y se añade una batería de pruebas automáticas que protege las operaciones delicadas.
- Semana del lun, 13 jul 2026Entornos configurables desde la propia app, permisos por entorno y scripts personalizados con salida en tiempo real.
- Semana del lun, 22 jun 2026Actualizaciones automáticas firmadas de la app de escritorio y primera ronda de refuerzo de seguridad.
- Semana del lun, 8 jun 2026Creación de solicitudes de cambio desde la app con descripción redactada por IA, módulo de tickets de soporte y operaciones organizadas por fases.
- Semana del lun, 1 jun 2026Asistente de inteligencia artificial integrado y menús que se adaptan a los permisos de cada persona.
- Semana del lun, 18 may 2026Versión para móvil, diseño adaptable, alertas de inactividad y despliegue automático a la nube.
- Semana del lun, 11 may 2026Gran salto: inicio de sesión con roles y permisos, nuevo módulo de gestión de equipos (tareas, áreas, proyectos, recursos), registro de actividad e instaladores automáticos para Windows y Linux.
- Semana del lun, 16 mar 2026Gestión de la infraestructura local con contenedores y herramientas para copiar datos de prueba desde los entornos remotos.
- Semana del lun, 8 dic 2025Se convierte en aplicación de escritorio y suma la opción de descargar y arrancar los servicios del equipo en local con pocos clics.
- Semana del lun, 1 dic 2025Monitoreo de servidores con filtros y búsqueda, soporte para varios entornos y copias de seguridad de bases de datos.
- Semana del lun, 24 nov 2025Despliegues con un clic, historial de lo publicado y posibilidad de volver a una versión anterior si algo falla.
- Semana del lun, 17 nov 2025Nace el proyecto: primera versión de un panel para revisar y aprobar cambios de código desde un solo lugar.