Volver a la wiki

Endpoint GET /api/services — estado de servicios internos (lectura)

Descripción

Endpoint público (gateado por CF Access) que expone el estado actual de servicios internos guardados en tabla D1 service_status.

Método: GET /api/services Auth: CF Access (staff con sesión activa en el workspace) Respuesta: JSON con array services + metadata de edad para detección de datos rancio.

Respuesta

{
  "services": [
    {
      "name": "stage-web",
      "server": "stage",
      "label": "Web de STAGE (el entorno de pruebas)",
      "status": "up",
      "http_code": "200",
      "updated_at": "2026-08-11T12:35:00Z",
      "age_min": 2,
      "stale": false
    },
    {
      "name": "forgejo",
      "server": "ops",
      "label": "Forgejo (nuestro servidor de código)",
      "status": "down",
      "http_code": null,
      "updated_at": "2026-08-11T12:30:00Z",
      "age_min": 7,
      "stale": false
    },
    ...
  ]
}

Campos:

Lógica de staleness

Constante STALE_MIN = 15:

Cálculo de age: diferencia en minutos entre now() y updated_at (ambos en SQLite).

Consumo

Degradación

El fetch es independiente en cada componente (ServerStatusPill llama por su lado, ServerGrid llama por el suyo). Si /api/services falla:

Véase también

Subir