docs: add configuration architecture research

Explore static/dynamic config split, hot-reloadable auth via ArcSwap,
forwarding policy, multi-transport listeners, and config file format.
Documents three problems: no auth hot-reload, no forwarding access control,
no structured config beyond CLI flags.

Key findings:
- Static config (transport, TLS, host key) loaded once at startup
- Dynamic config (auth, forwarding, rate limits) reloadable via ArcSwap
- ForwardingPolicy with rule-based allow/deny, first-match evaluation
- Multi-transport: Server spawns Vec<ListenerConfig> sharing auth config
- WebTransport out of scope for now (requires separate auth model)
- Proposes ADR-020 (static/dynamic split), ADR-021 (forwarding policy),
  ADR-022 (multi-transport listeners)

Adds OQ-12 through OQ-17 to open-questions.md.
This commit is contained in:
2026-06-04 09:40:58 +00:00
parent 5ffcf9232b
commit 41062d810e
3 changed files with 622 additions and 3 deletions

View File

@@ -7,7 +7,7 @@ last_updated: 2026-06-02
## Current State
Architecture specification reviewed and ready for implementation. All open questions resolved. 19 ADRs accepted.
Architecture specification reviewed and ready for implementation. 19 ADRs accepted. Configuration architecture under exploration — see [research/configuration.md](../research/configuration.md).
## Architecture Documents
@@ -20,6 +20,12 @@ Architecture specification reviewed and ready for implementation. All open quest
| [tun-shim.md](tun-shim.md) | deprecated | TUN interface wrapper — **deferred**, use tun2proxy |
| [napi-and-pubsub.md](napi-and-pubsub.md) | reviewed | NAPI wrapper and pubsub event target adapter |
## Research Documents
| Document | Status | Description |
|----------|--------|-------------|
| [configuration.md](../research/configuration.md) | draft | Configuration architecture: static/dynamic split, hot reload, forwarding policy |
## ADR Table
| ADR | Title | Status |
@@ -46,7 +52,8 @@ Architecture specification reviewed and ready for implementation. All open quest
## Open Questions
All open questions have been resolved. See [open-questions.md](open-questions.md) for details on each resolution.
Most open questions have been resolved. New questions from configuration
research — see [open-questions.md](open-questions.md) for details.
## Lifecycle Definitions