SisApps Hub — Portal de entrada a las herramientas del equipo

Resumen
Punto de entrada único a todas las herramientas del equipo de sistemas. Una sola URL pública (App Proxy) desde la que acceder a SIS Alerts, Security Monitor y HyperV Monitor. Muestra una landing page con tarjetas de cada app y sus estadísticas en vivo. Sin base de datos propia. Integrado con la plataforma SisApps (sidebar compartida, SSO via Entra ID App Proxy).

1. URLs de acceso

AppURL App ProxyPuerto interno
SisApps Hub (este portal)http://sisapps-idealistaa82505660.msappproxy.net/8080
SIS Alertshttps://sisalerts-idealistaa82505660.msappproxy.net/8082
Security Monitorhttps://securitymonitor-idealistaa82505660.msappproxy.net/8083
HyperV Monitorhttps://hypervmonitor-idealistaa82505660.msappproxy.net/8086
Todas las URLs requieren autenticación con cuenta corporativa via Entra ID Application Proxy (SSO transparente).

2. Qué es el hub

El hub actúa como landing central para el equipo de sistemas. En lugar de tener que recordar varias URLs, se accede a una sola y desde ahí se navega al resto. Adicionalmente:

Flujo de navegación

Usuario en red interna o externa
  → App Proxy Entra ID (autenticación SSO)
  → SisApps Hub (landing con tarjetas)
     → SIS Alerts     (sisalerts-...msappproxy.net)
     → Security Monitor (securitymonitor-...msappproxy.net)
     → HyperV Monitor  (hypervmonitor-...msappproxy.net)

3. Landing page — tarjetas de apps

La pantalla principal muestra una rejilla centrada con una tarjeta por app (excluyendo el propio hub). Cada tarjeta incluye:

Estadísticas por tarjeta

AppEstadísticas mostradas
SIS AlertsAlertas abiertas · Alertas hoy · Tiempo desde la última alerta
Security MonitorAlertas abiertas · Alertas de alta severidad · Tiempo desde la última alerta
HyperV MonitorClusters monitorizados · Nodos en estado Up · Alertas de disco activas
Las estadísticas se obtienen en tiempo real desde el endpoint /api/hub-stats de cada app al cargar la página. Si una app no responde, la tarjeta muestra "—" en lugar de las métricas. El acceso a cada app no se ve afectado.

4. Autenticación y usuarios


5. Plataforma SisApps — Interfaz compartida

El hub usa el paquete sisapps-ui junto con el resto de las apps del equipo. Esto proporciona:

¿Por qué cookies y no localStorage?
localStorage está limitado por origen (scheme + host + puerto), por lo que no se comparte entre apps en diferentes puertos. Las cookies ignoran el puerto (RFC 6265), así que sisapps_theme y sisapps_sidebar se comparten entre las cuatro apps automáticamente.

6. Configuración (app-config.json)

{
  "port": 8080,
  "sso": {
    "header_upn": "X-MS-CLIENT-PRINCIPAL-NAME",
    "trusted_proxy_ips": ["10.80.6.21", "10.80.6.22"],
    "auto_admin": true
  },
  "graph": {
    "tenant_id": "d78b7929-c2a3-4897-ae9a-7d8f8dc1a1cf",
    "client_id": "...",
    "auth_mode": "cert_store",
    "certificate_thumbprint": "..."
  }
}

El bloque graph es opcional pero recomendado: permite mostrar el nombre completo y avatar del usuario en la navbar (consulta Microsoft Graph API con autenticación por certificado).

URLs de las apps (sisapps-urls.json)

Las URLs que aparecen en las tarjetas y la sidebar se resuelven en este orden de prioridad:

  1. Override en app-config.json → sisapps.urls.{id} (excepcional)
  2. Fichero sisapps-urls.json en la raíz del repo (contiene las URLs del App Proxy de producción — está en .gitignore)
  3. Fallback: http://localhost:{puerto} (válido en red interna sin proxy)
sisapps-urls.json en producción
El fichero C:\apps\jmfernandez\sisapps-urls.json debe existir en el servidor con las URLs correctas del App Proxy. Sin este fichero, las tarjetas apuntan a localhost:puerto (funciona en red interna pero no desde el exterior).

7. Despliegue

ParámetroValor
Servicio WinSWsisapps-hub-service.xml
Puerto8080
Ruta producciónC:\apps\jmfernandez\sisapps-hub

Deploy del hub

cd C:\apps\jmfernandez\sisapps-hub
.\deploy.ps1
# git pull + pip install sisapps-ui + restart sisapps-hub-service

Deploy global (todas las apps del equipo)

cd C:\apps\jmfernandez\sisapps-hub
.\sisapps_deploy.ps1
# git pull del repo + pip install sisapps-ui + restart de los 4 servicios
Uso habitual
Para desplegar cualquier cambio en el paquete sisapps-ui (sidebar, CSS, JS compartido) hay que ejecutar sisapps_deploy.ps1 para que todas las apps recojan los cambios. Para cambios específicos de una sola app se puede usar el deploy.ps1 de esa app.