Crate stargazer

Crate stargazer 

Source
Expand description

Stargazer: D-STAR network observatory.

A headless Kubernetes-deployed service that discovers active D-STAR reflectors, monitors real-time activity, captures voice transmissions with metadata, decodes AMBE audio to MP3, and uploads completed streams to an SDRTrunk-compatible Rdio API server for transcription.

ยงArchitecture

Stargazer operates in three tiers:

  • Tier 1 (Discovery): polls Pi-Star, XLX API, and ircDDB to build a reflector registry.
  • Tier 2 (Monitoring): connects to active XLX reflectors via UDP JSON monitor protocol for real-time activity events.
  • Tier 3 (Capture): establishes full D-STAR protocol connections to capture and decode voice streams.

All tiers run as independent tokio tasks. A background upload processor sends completed streams to the Rdio API server. An HTTP API provides operational visibility and manual session control.

ยงUsage

stargazer --config stargazer.toml

Modulesยง

api ๐Ÿ”’
HTTP API server for operational visibility.
config ๐Ÿ”’
Configuration for the stargazer service.
db ๐Ÿ”’
Database connection pool, schema migrations, and typed query modules.
tier1 ๐Ÿ”’
Tier 1: discovery and sweep.
tier2 ๐Ÿ”’
Tier 2: XLX live monitoring via UDP JSON protocol.
tier3 ๐Ÿ”’
Tier 3: deep D-STAR protocol connections and voice capture.
upload ๐Ÿ”’
Rdio API upload queue processor.

Structsยง

Cli ๐Ÿ”’
D-STAR network observatory โ€” reflector monitoring and voice capture service.

Functionsยง

main ๐Ÿ”’
run ๐Ÿ”’
Top-level async entry point.