1.3 KiB
1.3 KiB
ADR — архитектурные решения awg-dash
Один файл = одно решение. Формат: контекст -> решение -> последствия.
| ADR | Решение |
|---|---|
| 001 | Backend — Python 3.12 + FastAPI |
| 002 | Модульный монолит в одном образе, 2 процесса |
| 003 | Декларативный reconcile вместо императивных скриптов |
| 004 | GeoIP: RIPE Stat + локальный кэш + абстракция провайдера |
| 005 | DNS: встроенный dnsmasq + перехват порта 53 |
| 006 | Состояние: SQLite (WAL) + /config + /data |
| 007 | Web-сервер: встроенный uvicorn, без nginx |
| 008 | Безопасность API/UI: токен, CSRF, rate limit, маскировка секретов |
Новые решения добавляются со следующим номером и ссылкой на issue, для которого решение принято.