CreaRack-SL

Tabla D1 service_status — estado de servicios internos

Descripción

Tabla D1 que persiste el estado actual de los 9 servicios internos vigilados por la sonda servicios-check de OPS. Creada en migración 0049 (11-08-2026, s263).

Columnas

ColumnaTipoRolNotas
nameTEXTPKID único del servicio: stage-web, forgejo, prod-web, etc.
serverTEXTFK lógicaCategoría: prod, stage, ops, dca — agrupa servicios por servidor origen
labelTEXTDescripciónNombre humano con contexto: “Web de PRODUCCIÓN (vista interna)”
statusTEXTEstado'up' o 'down' — resultado de chequeo (down = 2 ticks fallando)
http_codeTEXTDiagnósticoCódigo HTTP del último intento (ej: "400", "503", NULL si timeout/error de red)
updated_atTEXTTimestampdatetime('now') en cada upsert — detecta datos rancio (>15 min → “sin datos”)

Ciclo de vida

  1. Lectura: sonda bash servicios-check.sh corre cada 5 minutos en el cron de OPS.
  2. Publicación: tool MCP report_service_status recibe la foto completa (todos los 9 targets).
  3. Upsert atómico: N inserts con ON CONFLICT(name) DO UPDATE, + 1 delete de targets ausentes.
  4. Consumo:
    • GET /api/services calcula edad (minutos desde updated_at) y marca como stale: true si >15 min.
    • Componentes React (ServerStatusPill, ServerGrid) leen y pintan LEDs (verde/rojo/gris).

Características de confiabilidad

  • No acumula histórico: cada sonda replace overwrite (foto, no transaccional-logging).
  • Staleness detection: los LEDs nunca muestran un verde congelado — si la sonda calla >15 min, pasa a “sin datos” (gris).
  • Dato incompleto = no datos: si la sonda falla en alguna pasada, no se pintan nada en los LEDs (fallback seguro).

Véase también

  • [[entity—functions—tool—report-service-status]]
  • [[entity—functions—endpoint—api-services]]
  • [[feature—monitoring—led-servicios-onoff]]
  • [[concept—infra—health-checks]]