You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
968 B
23 lines
968 B
# ADR 0010: API Is Control Plane Only
|
|
|
|
## Status
|
|
Proposed
|
|
|
|
## Context
|
|
The API is useful for local administration, automation, and dashboard control. FreeDMR is a live voice stream program, so API work must not delay packet processing.
|
|
|
|
## Decision
|
|
API operations are bounded control-plane actions and must not perform heavy serialization or block packet routing.
|
|
|
|
## Rationale
|
|
Control operations should act on sessions, subscriptions, mesh peers, and reporting state. Heavy views should come from snapshots or reporting feeds.
|
|
|
|
## Consequences
|
|
The API remains small and predictable. Complex dashboard state should not be assembled synchronously from hot packet state.
|
|
|
|
## Compatibility
|
|
Old API endpoints may be adapted if needed, but the v2 API should not expose raw legacy internals as its primary contract.
|
|
|
|
## Testing Requirements
|
|
Tests must cover auth, bounded request bodies, destructive-action gating, audit logging, and packet-path independence under API load.
|