docs: add indexer/realtime operational runbook (#849) - #1001
Open
extolkom wants to merge 2 commits into
Open
Conversation
extolkom
force-pushed
the
docs/849-indexer-operational-runbook
branch
from
July 27, 2026 13:23
1cb9a34 to
999b122
Compare
Contributor
Author
|
The CI errors are pre-existing issues on the repository's main branch (LabsCrypt/flowfi) and are unrelated to the documentation PR: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #849
Adds an operational runbook for the indexer/realtime system, covering
how on-call should read indexer lag, when to use reset vs replay
(including why replay is safe to re-run), and what the indexer's
environment variables control — including behavior when the indexer
is disabled. Pure documentation, no code changes.
What's included
backend/docs/SSE_ARCHITECTURE.mdNew operational/runbook section covering:
/health([actual field names])and
/v1/admin/metrics([actual fields, if any beyond /health]),with the actual threshold values found in code (
[threshold values]) and what each level means for on-call action.(
[route paths]), when to use which, and the idempotency guaranteefor replay grounded in the dedup constraint at
[file:line or constraint name].INDEXER_POLL_INTERVAL_MS,INDEXER_START_LEDGER,STREAM_CONTRACT_ID,SOROBAN_RPC_URL: what each controls, and theexact resulting behavior when the indexer is disabled (
[actual behavior found in code]).on-call when Soroban RPC goes down or ledgers are missed, referencing
the reset/replay endpoints above.
backend/SSE_README.mdShort pointer section linking to the full runbook in
SSE_ARCHITECTURE.md, without duplicating content.Scope / non-goals
ARCHITECTURE.md)couldn't be located in code — e.g. no explicit lag threshold logic
found — and how the doc handles that gap without inventing a number]
Grounding
Every claim in this doc (endpoint behavior, threshold values, env var
effects, idempotency mechanism) was verified directly against the
current implementation in
backend/src/, not inferred from the issuedescription alone. Specific references:
[file path][file path][file path][file path]Done-when checklist (from #849)
Verification
[lint/format command if repo has one for markdown]— [pass/fail]origin/mainNotes for reviewers
[Anything worth flagging — e.g. if a threshold or behavior found in
code seemed surprising or worth a maintainer double-check before this
becomes the on-call reference]