Estado de Fundaia
La instancia tiene su propia página de estado en **/estado**, pública y sin entrar. Responde a la pregunta de quien despliega aquí: ¿falla mi servicio o falla la plataforma? Se refresca sola cada minuto mientras está a la vista, y se enlaza desde el pie de las páginas públicas y desde el menú de tu cuenta (Estado de Fundaia).
Qué mide
Ningún componente se escribe a mano: cada uno se deriva de lo que la plataforma ve en ese momento y se muestrea cada cinco minutos, con 90 días de barras y su disponibilidad.
| Componente | Funciona cuando | Se degrada o cae cuando |
|---|---|---|
| Panel y API | El proceso responde (la web, la API, la terminal y el MCP) | La plataforma estuvo parada: esos minutos cuentan como caída |
| Pasarela | Acepta conexiones (se comprueba con una petición local) | No contesta |
| Construcciones | Los despliegues empiezan al momento | Uno espera en cola más de 30 min (degradado) o de 2 h (caído), una construcción pasa de 75 min, o fallan por la plataforma (deploy_failed) varios en la última hora |
| Servidores | Cada servidor responde | Uno no se oye desde hace tres minutos o no se alcanza; caído si no responde ninguno |
| Copias de seguridad | La última copia programada de cada servicio salió bien | Alguna falló (degradado) o fallaron todas (caído) |
Los servidores se nombran Servidor principal, Servidor 2…, nunca por su nombre ni su dirección. Un fallo que es del código de un proyecto (una construcción que no compila, una comprobación de salud que no pasa) no cuenta contra la plataforma.
Cuando la plataforma se para —un despliegue de ella misma, un reinicio, un corte—, al volver cuenta esos minutos como caída del panel, la pasarela y las construcciones, salvo los que caigan dentro de un mantenimiento anunciado.
Incidentes y mantenimientos
Los publica quien administra la instancia, desde Servidores → Estado (o el menú de la cuenta → Publicar un incidente de la plataforma): el mismo editor que la página de estado de un proyecto, con impacto, componentes afectados, línea de novedades y mantenimientos programados que no cuentan como caída. Cualquier otro puede leerlos, nunca escribirlos.
fundaia platform-status # lo que enseña /estado
fundaia platform-status incident open --title "Las construcciones tardan" --impact minor \
--services builds --message "Estamos revisando la cola de construcción."
fundaia platform-status incident update "Las construcciones tardan" --state monitoring \
--message "La cola vuelve a moverse."
fundaia platform-status incident resolve "Las construcciones tardan"
fundaia platform-status maintenance add --title "Reinicio del servidor" --starts "2026-10-21 03:00" --ends 30m
Los componentes se nombran por su clave (panel, gateway, builds, servers, backups) o por su nombre en pantalla.
Feed, insignia y JSON
GET /api/infra/platform-status: lo que enseña la página, en JSON, sin sesión y en caché un minuto.GET /api/infra/platform-status/feed.atom: cada incidente y mantenimiento, para un lector o Slack.GET /api/infra/platform-status/badge.svg: estado | operativo · 100 %.
Para un agente: read_platform_status lo lee cualquiera; list_platform_incidents, open_platform_incident, update_platform_incident, resolve_platform_incident, edit_platform_incident_update, delete_platform_incident_update, delete_platform_incident, schedule_platform_maintenance y cancel_platform_maintenance son del administrador. Por HTTP, las mismas rutas que las de un proyecto bajo /api/infra/platform-status (/incidents, /maintenance…), más /manage, que añade los autores.