Changelog#
Todos los cambios relevantes del repositorio se registran aquí.
El formato sigue la idea de Keep a Changelog y el versionado del proyecto sigue una línea semántica cuando se publiquen releases formales.
[Unreleased]#
_Sin cambios pendientes al momento._
[1.5.0] - 2026-04-02#
Added — Indicador de factibilidad RAM por lab#
dashboard.js: funciónramFeasibilityBadge(lab)que compararecommendedRamGbdel lab contra la RAM libre real de Docker en tiempo real:- ✅ Verde — RAM disponible suficiente para iniciar
- ⚠️ Amarillo — RAM ajustada, conviene bajar otros labs primero
- ⛔ Rojo — Docker no tiene suficiente RAM total para este lab
- El badge aparece en cada tarjeta de lab y en los sistemas destacados de la plataforma
- Cada tarjeta muestra el requierimiento RAM del lab (
💾 X GB) junto al stack - El indicador se actualiza en tiempo real al refrescar el panel
Changed — Visual e iconos#
- Botones globales del hero con iconos: ▶ Levantar, ⏹ Bajar todos, 🗑 Eliminar, 📚 Centro de aprendizaje
- Botones de acción por lab con iconos: ▶ Levantar, ⏹ Detener, 🔄 Reiniciar, 📋 Ver logs, 🔧 Reconstruir
- Estados de Docker con iconos: ✅ Saludable, 🔄 Corriendo, ⚠️ Degradado/Parcial, ⏹ Detenido
- Nuevas clases CSS:
.tag-ok,.tag-warn,.tag-dangerpara badges coloreados consistentes con el design system
[1.4.2] - 2026-04-02#
Fixed — Healthcheck timeouts en Windows#
- 09-multi-service-app: timeout de MongoDB aumentado de 5s a 15s e intervalo de 10s a 15s;
mongoshtarda >5s en iniciar en Windows aunque la base responde correctamente - dashboard-control: override de healthcheck con
timeout: 15systart_period: 20s;/api/overviewhace llamadas al Docker daemon que pueden exceder 5s en Windows
Changed — Interfaz Learning Center#
learning-center.html: columna "Health check" agregada a la tabla Runtime Matrix — muestra el comando exacto de cada uno de los 12 labs (refleja cobertura 12/12)
[1.4.1] - 2026-04-02#
Added — Cobertura de health checks completa (12/12 labs)#
- 02-php-lamp: healthcheck
mysqladmin pingpara MariaDB +curlpara Apache;webyphpmyadminahora esperanservice_healthydedb - 04-redis-cache: healthcheck
redis-cli pingpara Redis +wget /healthpara la API Node;apiesperaservice_healthyderedis - 07-rabbitmq-messaging: healthcheck
rabbitmq-diagnostics -q pingconstart_period: 30s
Added — Smoke test cross-service en CI#
- Nuevo job
smoke-platformen.github/workflows/ci.yml: levanta05-postgres-api,09-multi-service-appy06-nginx-proxycon susdocker-compose.ymlpropios y valida el flujo completo Core → Portal → Gateway - Verifica:
Core summary,Core insights,Portal health,Portal-Core integration(inventory: reachable),Portal overviewyGateway health - Corre en paralelo con la matriz de tests individuales; requiere que
quality-pythonyquality-nodepasen primero
Changed — Documentacion#
README.md: tabla de referencia rápida con los 13 componentes (12 labs + dashboard), puertos host y estado visible desde el iniciodocs/TECHNICAL_SPECS.md: tabla completa 23 servicios/puertos, health checks 12/12, tabla CI completa; tabla de conflictos stale eliminada01/02/03/04/07/10/12: READMEs reescritos con tabla de servicios, health checks, comandosdocker composey verificacion10-go-api/README.md: puerto corregido (8080→8084).markdownlint.json: config base del proyecto (MD013/MD060 desactivados)
[1.4.0] - 2026-03-15#
Added — Skills de automatización#
- Skill
docker-labs-release: skill de Claude Code que automatiza el flujo completo de release — leeversion.txt, calcula la nueva versión (patch/minor/major), actualiza el archivo, hace commit + tag + push y reporta la URL de GitHub Actions donde se puede seguir el build del instalador - Skill
docker-labs-status: skill de Claude Code que muestra el estado completo del sistema — versión actual, contenedores Docker corriendo, health check HTTP de cada servicio, último run de GitHub Actions y últimos commits
Changed — Launcher (plataforma completa)#
launcher/main.goreescrito para levantar los 4 servicios core en paralelo:dashboard-control(9090),05-postgres-api(8000),09-multi-service-app(8083) y06-nginx-proxy(8085)- El browser se abre solo cuando el Control Center (
/api/overview) responde con HTTP 200 (timeout 90 s) computeDockerRepoRoot()convierte la ruta Windows (C:\path) al formato del contenedor (/run/desktop/mnt/host/c/path) de forma dinámica
Fixed#
- Healthcheck de
03-python-api: cambiado dewgetacurl(imagenpython:3.12-slimno incluye wget) - Healthcheck de
06-nginx-proxy: endpoint cambiado de/a/gateway-healthpara evitar falsos negativos contry_files installer/docker-labs.iss: corregida la directiva#define AppVersioncon guard#ifndefpara que/DAppVersion=X.Y.Zpasado por CLI no sea sobreescrito
Documentation#
CHANGELOG.md: reorganizado con secciones versionadas correctas; referencias a archivos obsoletos corregidasPROJECT_STATUS.md: actualizado a v1.4.0 con la capa de distribución Windows
[1.3.0] - 2026-03-10#
Added — Capa de distribución Windows#
launcher/main.go— launcher Go compilable a.exesin dependencias externas: verifica Docker Desktop, computaDOCKER_REPO_ROOTdinámicamente, levanta el Control Center y abre el browserinstaller/docker-labs.iss— script Inno Setup para generar el instalador profesionaldocker-labs-setup-{version}.exescripts/windows/build-launcher.ps1— compila el launcher congo build -ldflags "-X main.launcherVersion=..."scripts/windows/build-installer.ps1— genera el instalador con Inno Setup ISCC.github/workflows/build-windows.yml— workflow GitHub Actions que construye y publica el instalador al pushear un tagv*.*.*docs/windows-installer.md— documentación del instalador: instalación, build local, troubleshooting, justificación de no usar firma digitaldocs/github-releases-distribution.md— estrategia de distribución via GitHub Releases
Fixed#
.github/workflows/build-windows.yml: agregadoFORCE_JAVASCRIPT_ACTIONS_TO_NODE24: truepara suprimir advertencias de deprecación de Node.js 20.github/workflows/build-windows.yml:setup-go@v5concache: falsepara evitargit.exe exit code 128en runners Windows congo.sumvacío.github/workflows/build-windows.yml: el step de upload ahora crea el GitHub Release automáticamente si no existe antes de adjuntar el.exe(gh release create+gh release upload)- CI matrix: labs 11 y 12 excluidos del CI automático (lab 11 requiere ≥6 GB RAM; lab 12 Jenkins tarda >3 min en arrancar)
- Eliminado
installer/windows/(duplicado de la era Python, en conflicto con el nuevoinstaller/docker-labs.iss) DEVELOPING.md: removidas referencias a archivos inexistentes (packaging/windows/distribution-manifest.json,Test-WindowsPackaging.ps1)
Changed#
dashboard-control/docker-compose.yml: eliminada ruta hardcodeada del autor;DOCKER_REPO_ROOTahora llega como variable de entorno desde el launcher08-prometheus-grafana: Prometheus movido de puerto9090a9091para eliminar conflicto con el Control Center11-elasticsearch-search: API movida de puerto8000a8001para eliminar conflicto con05-postgres-api
[1.2.0] - 2026-02-15#
Added#
- Panel de control principal dockerizado en
dashboard-control/(puerto 9090) labs.jscon el catálogo de todos los laboratorios y sus metadatos- Learning Center integrado en el panel
Fixed#
- URLs de Prometheus (
9091) y Elasticsearch API (8001) actualizadas endashboard-control/labs.js scripts/start-control-center.cmdreescrito para computarDOCKER_REPO_ROOTdinámicamente via PowerShellMakefileactualizado para usardashboard-control/como arquitectura actual
Changed#
08-prometheus-grafana/docker-compose.yml: Prometheus en puerto9091(antes9090)11-elasticsearch-search/docker-compose.yml: API en puerto8001(antes8000)
[1.0.0] - 2026-01-21#
Added#
- Estructura documental base en
docs/ - Políticas del repositorio
- Primer bloque de labs documentados
[0.1.0] - 2026-01-14#
Added#
- Estructura inicial del repositorio
- Primeros labs del proyecto