17 lines
1.3 KiB
Markdown
17 lines
1.3 KiB
Markdown
# ADR — архитектурные решения awg-dash
|
|
|
|
Один файл = одно решение. Формат: контекст -> решение -> последствия.
|
|
|
|
| ADR | Решение |
|
|
|---|---|
|
|
| [001](001-backend-python-fastapi.md) | Backend — Python 3.12 + FastAPI |
|
|
| [002](002-single-image-modular-monolith.md) | Модульный монолит в одном образе, 2 процесса |
|
|
| [003](003-reconcile-desired-state.md) | Декларативный reconcile вместо императивных скриптов |
|
|
| [004](004-geoip-ripe-provider.md) | GeoIP: RIPE Stat + локальный кэш + абстракция провайдера |
|
|
| [005](005-dns-dnsmasq.md) | DNS: встроенный dnsmasq + перехват порта 53 |
|
|
| [006](006-state-sqlite.md) | Состояние: SQLite (WAL) + /config + /data |
|
|
| [007](007-embedded-web-server.md) | Web-сервер: встроенный uvicorn, без nginx |
|
|
| [008](008-api-ui-security.md) | Безопасность API/UI: токен, CSRF, rate limit, маскировка секретов |
|
|
|
|
Новые решения добавляются со следующим номером и ссылкой на issue, для которого решение принято.
|