Catálogo de servicios aprobados
Catálogo de servicios aprobados
Sección titulada «Catálogo de servicios aprobados»Resumen
Sección titulada «Resumen»config/services.yml de DockerSwarmInfrastrcture es el contrato de alcance
de la migración: define qué cargas pueden llegar a la plataforma, cuáles
quedan fuera, y qué datos, hostnames, puertos e imágenes se conocen de cada
una. Por sí solo no autoriza un despliegue, una restauración, la apertura de
firewall ni un cambio DNS — es un catálogo, no una orden de ejecución. La
evidencia de origen procede de una auditoría de MigracionNetCup fechada el
2026-07-23.
Semántica del contrato
Sección titulada «Semántica del contrato»images[].reference,ports[].targetydatasets[].target_pathdescriben siempre el objetivo Docker Swarm;source_reference,source_targetysource_path(cuando aparecen) describen solo la evidencia de origen y nunca deben alimentar el stack objetivo.published: nullsignifica que el puerto no se publica en el host.exposure: edgesignifica que Traefik alcanza el puerto en una red interna;exposure: internalimpide su publicación yloopbackexige bind local.migration: restore-staterestaura datos heredados;migration: redeployrecupera la imagen o el código sin estado runtime propio;migration: clean-installcrea estado vacío (único modo permitido paraopenclaw-clean).
Servicios aprobados
Sección titulada «Servicios aprobados»| ID | Estrategia | Hostname | Puerto objetivo | Datos confirmados |
|---|---|---|---|---|
kropia |
Redeploy | kropia.apptolast.com |
Edge 80/TCP |
Imagen y snapshot Git |
traefik-edge |
Restore | edge.apptolast.com |
8000→80, 8443→443; 8080/8082 internos |
ACME; rutas reconstruidas |
minecraft-stats |
Redeploy | minecraft-stats.apptolast.com |
Edge 8080/TCP |
Mundo Minecraft en solo lectura |
minecraft |
Restore | Ninguno confirmado | Público 25565/TCP |
Unos 3,3 GB, mods y tres mundos |
n8n |
Restore | n8n.apptolast.com |
Edge 5678/TCP |
PostgreSQL, home y clave runtime |
openclaw-clean |
Instalación limpia | openclaw.apptolast.com |
Edge 18789/TCP |
Home vacío; estado legado prohibido |
passbolt |
Restore | passbolt.apptolast.com |
Edge 80/TCP |
PostgreSQL y claves GPG/JWT |
personal-website-alberto |
Redeploy | albertohidalgo.apptolast.com |
Edge 3000/TCP |
Imagen y snapshot Git |
personal-website-pablo |
Redeploy | pablohurtadohg.apptolast.com |
Edge 3000/TCP |
Imagen y working tree capturado |
shlink |
Restore | generadorcodigosqr.apptolast.com |
Edge 8080/TCP |
PostgreSQL |
La auditoría de origen restauró 46 workflows y 35 credenciales de n8n, y confirmó unos 3,76 GB de PostgreSQL y unos 72 MB en su home. Esas cifras son criterios de reconciliación, no límites del esquema.
25565/TCP (Minecraft) forma parte del alcance aprobado, pero sigue sujeto a
restauración, prueba, y a una decisión explícita sobre online-mode=false
antes de cambiar platform_minecraft_public_enabled y abrir firewall/DNS
(ver Compuertas abiertas). El hostname de Traefik
expone únicamente el health endpoint versionado (/ping); no autoriza un
dashboard público.
Exclusiones explícitas
Sección titulada «Exclusiones explícitas»Cada regla denegada tiene un ID canónico y, cuando procede, aliases observados:
inern-seller(aliasinemsellar),menus-admin(aliasmenus-dev),cattle(aliasrancher),mcp-fullstack(alias compuestocyberlab/platform),uptime-kuma(aliaskuma).uptime-kumano procede de la auditoría original: es una exclusión añadida el 2026-07-27 tras confirmar con el propietario quekuma.apptolast.com(un Uptime Kuma legacy) no se migra ni se recrea en la plataforma nueva.- Demás exclusiones canónicas:
greenhouse,hermes,invernaderos-api,whoop,vpn,cluster-ops,redisinsight,ficsit-monitor,gibbon,health-dashboard,keel,kube-system,langflow,longhorn-system,metal,monitoring-dozzle,openclaw-legacy.
Añadir una carga denegada a un stack, aunque su imagen exista o su namespace
aparezca en un backup, es un cambio de alcance y requiere modificar
config/services.yml de forma explícita.
Observabilidad interna
Sección titulada «Observabilidad interna»Prometheus, Alertmanager, Blackbox Exporter, Loki, Alloy, Grafana, Node
Exporter, cAdvisor, PostgreSQL Exporter y Redis Exporter son componentes
nuevos de plataforma, no servicios heredados ni datos a migrar. El catálogo
fija sus imágenes por digest; ningún puerto de observabilidad se publica en
el host y no existe hostname público para Grafana ni para ningún otro
componente de observabilidad. Sus rutas persistentes se crean vacías bajo
/srv/dockerswarm/observability.
Validación
Sección titulada «Validación».venv/bin/python scripts/validate-services.py.venv/bin/python scripts/validate-services.py --self-testEl validador rechaza, entre otras cosas: claves de esquema inesperadas o
ausentes, IDs/hostnames/puertos/datasets duplicados, solapamientos entre
servicios aprobados y denegados, imágenes sin @sha256:<64 hex>, cualquier
importación de estado legado en openclaw-clean, y divergencias con el
state root, los puertos públicos, el hostname o la imagen target de Traefik
declarados en las fuentes actuales de plataforma.
Histórico relevante
Sección titulada «Histórico relevante»- 2026-07-23 — Auditoría de
MigracionNetCupque produjo la evidencia de origen del catálogo. - 2026-07-27 — Exclusión
uptime-kumaañadida tras decisión explícita del propietario. - 2026-07-30 — Esta página creada, verificada contra el commit
45249ebbdeDockerSwarmInfrastrcture.