docs: add indexer/realtime operational runbook (#849) - #1001
Open
extolkom wants to merge 1 commit 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: |
ogazboiz
requested changes
Aug 3, 2026
ogazboiz
left a comment
Contributor
There was a problem hiding this comment.
this runbook is genuinely accurate, I checked the /health fields, the indexerDegraded threshold, the cold-start -1 to null handling, env defaults, reset vs replay semantics and the dedup constraint against the code, all correct. to land it:
- remove or justify the non-docs changes: the pretest prisma generate in backend/package.json and the fake-timer rewrite of useIncomingStreams.test.tsx do not belong in a docs PR.
- fix the schema.prisma line reference (:89 should be :83).
- clean the leftover template placeholders in the PR body.
- heads up: #995 also creates backend/SSE_README.md, whichever merges second needs a rebase.
if you want to keep contributing, join us on Telegram: https://t.me/+DOylgFv1jyJlNzM0
This was referenced Aug 3, 2026
extolkom
force-pushed
the
docs/849-indexer-operational-runbook
branch
from
August 6, 2026 22:58
bf8a1dc to
ef6e8bc
Compare
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]