Skip to content

Add source-specific operational docs starting with OpenSky #52

@calesthio

Description

@calesthio

Summary

We should add source-specific operational docs for the external data providers Crucix depends on, starting with the sources that have the most confusing failure modes and rate-limit behavior.

The immediate driver is OpenSky: public hotspot queries can return HTTP 429, and while Crucix now degrades gracefully, that behavior is not documented anywhere contributors will naturally find it.

Proposed scope

Create a docs/sources/ section with:

  • docs/sources/README.md as an index / conventions page
  • docs/sources/opensky.md as the first concrete source doc

If the contributor wants to extend it in the same PR, good next candidates are:

  • acled.md
  • telegram.md
  • firms.md
  • maritime.md

What each source doc should include

  • What the source provides
  • Auth / key requirements
  • Known rate limits or instability
  • What Crucix does on failure or throttle
  • What the dashboard / briefing shows when degraded
  • How to test it locally
  • Any important caveats for contributors

OpenSky notes to capture

  • Public API can return HTTP 429
  • Crucix does not try to bypass rate limits
  • Current behavior uses a limited generic retry via shared fetch handling
  • If OpenSky still fails, source health is surfaced and the dashboard can fall back to the most recent non-empty air traffic snapshot from runs/

Why this matters

Right now this knowledge is spread across code and recent fixes. That is bad for maintainability and onboarding. A small source-doc system would make debugging, contribution, and operations a lot easier.

Good first implementation

A solid first PR would be:

  1. Add docs/sources/README.md
  2. Add docs/sources/opensky.md
  3. Add a short README link pointing contributors to the source docs

Community contribution welcome here. If anyone wants to pick this up, comment on the issue and go for it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationhelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions