Skip to content

Add an incident response runbook for stellar rpc or ipf gateway outages - #571

Open
Johnsource-hub wants to merge 4 commits into
scout-off:mainfrom
Johnsource-hub:Add-an-incident-response-runbook-for-Stellar-RPC-or-IPF-gateway-outages
Open

Add an incident response runbook for stellar rpc or ipf gateway outages#571
Johnsource-hub wants to merge 4 commits into
scout-off:mainfrom
Johnsource-hub:Add-an-incident-response-runbook-for-Stellar-RPC-or-IPF-gateway-outages

Conversation

@Johnsource-hub

Copy link
Copy Markdown

#closes
#512

Description
This Pull Request introduces operational runbooks and mitigation strategies for managing outages of external service dependencies (Stellar/Soroban RPC and IPFS/Pinata). It addresses the risk of complete service unavailability caused by health check degradation on non-blockchain endpoints during external service disruptions.

Key Changes

  1. Incident Response Runbook
    Created a comprehensive runbook at docs/runbooks/dependency-outages.md containing actionable steps for on-call engineers.
    Documents detection signals (specific log formats and HTTP response payloads) for both Stellar RPC and IPFS/Pinata outages.
    Explains concrete, immediate mitigation procedures using environment variables and fallback mechanisms.
    Outlines recovery verification queries and communication templates for stakeholders.
  2. Operational Enhancements & Fallbacks
    /ready Endpoint Mapping: Added the GET /ready route in src/index.ts to align the application's actual routes with test cases, README.md, and DEPLOYMENT.md.
    IPFS Stub Mode (IPFS_STUB_MODE):
    Added config.ipfsStubMode property, mapped to the IPFS_STUB_MODE environment variable.
    Updated src/services/ipfs.ts to intercept JSON/file pinning requests and health checks. When IPFS Stub Mode is enabled, the service resolves health checks instantly and returns a valid static mock CID (QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG), allowing player registration and validator milestone submissions to proceed during Pinata downtime.
  3. Test Reliability Improvements
    Added process.env.STELLAR_HEALTH_CHECK = 'false' in tests/routes/health.test.ts to prevent external network calls to the Soroban RPC endpoint during testing, preventing 5000ms test timeouts and improving pipeline build speeds.
  4. Discoverability
    Linked the outage runbook in README.md (under "Health Endpoints") and DEPLOYMENT.md (under "Health & Monitoring").

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant