central/docs/PHASE-1B-NOTES.md
Matt Johnson 12a66d45ba docs: add Phase 1B planning notes
- Stream retention GUI design
- Region picker for bbox selection
- API key management requirements

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-16 18:49:29 +00:00

1.8 KiB
Raw Blame History

Phase 1B Planning Notes

Design notes for Phase 1B GUI features. These are planning items, not implementation specifications.

Stream Retention GUI

Per-Stream Configuration

  • Show each stream from config.streams table
  • Editable max_age_s with preset chips: 1d, 7d, 14d, 30d, 365d
  • Custom numeric input allowed (operator can enter 90d, etc.)
  • Changes trigger NATS stream update via supervisor hot-reload

Storage Monitor

Per stream, display:

  • Current bytes: Live from nats stream info
  • Projected bytes: Calculated from current rate × max_age
  • Days remaining: Current_bytes / rate_per_day estimate
  • Refresh: Real-time polling, not cached

Global Server Cap

  • Show max_file_store value as read-only reference
  • Editing requires NATS server restart (out of scope for GUI)
  • Display per-stream ceiling (30% of server cap) as context

Region Picker

Interactive Map

  • Bbox selection via click-drag rectangle
  • Same UI component for all adapters (NWS, FIRMS, USGS)
  • Stores {north, south, east, west} floats
  • Preview of coverage area with state/country boundaries

Preset Regions

  • Common presets: CONUS, Pacific Northwest, Mountain West
  • Quick-select buttons alongside custom draw

API Key Management

Key Storage

  • View configured API keys (alias only, not values)
  • Add new keys with alias and value
  • Values encrypted at rest in config.api_keys
  • Rotation: update value, track rotated_at

Required Keys by Adapter

  • FIRMS (Phase 1a-6): MAP_KEY for NASA FIRMS API
  • Future adapters may require additional keys

Technical Notes

  • All GUI changes write to config.* tables
  • Supervisor receives NOTIFY and hot-reloads
  • No service restarts required for config changes
  • Stream retention changes apply within 5 seconds