Skip to content

[Backend] backend/src/routes/health.routes.ts liveness check does not distinguish 'DB unreachable' from 'indexer lagging' in its response body #1114

Description

@grantfox-oss

Join our community: https://t.me/+DOylgFv1jyJlNzM0

Why this matters

A separate issue already tracks the hardcoded lag threshold in health.routes.ts. This issue is about the response shape: if both a database outage and a lagging indexer report the same generic unhealthy status with no reason or component field, an on-call engineer looking at monitoring dashboards can't tell at a glance which subsystem needs attention without digging into logs.

Acceptance criteria

  • Add a checks object to the health response breaking down individual subsystem status (database, redis, indexer lag, soroban RPC)
  • Keep the top-level status field for simple uptime monitors that only check one field
  • Update docs/api OpenAPI/Postman references to reflect the new shape

Files to touch

  • backend/src/routes/health.routes.ts

Out of scope

  • Changing the lag threshold value (tracked separately)
  • Adding a full status-page integration

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programbackendBackend related tasksenhancementNew feature or requestgood first issueGood for newcomers

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions