docs: зафиксированы решения (Selectel API-ключ, JSONB-шаблоны)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-03 12:09:18 +07:00
parent db62c8c0c7
commit 74b8a01dc8
@@ -135,13 +135,6 @@ users
- **Repository** — интеграционные тесты на PostgreSQL (testcontainers или локальная БД). - **Repository** — интеграционные тесты на PostgreSQL (testcontainers или локальная БД).
- **API** — тесты хендлеров с мок-провайдером. - **API** — тесты хендлеров с мок-провайдером.
## Открытые вопросы (не блокируют Фазу 1)
1. Аутентификация в Selectel: статический API-ключ vs Keystone-токен проекта. Уточнить
по докам (context7 / Selectel DNS "actual") при реализации.
2. Формат хранения шаблонов в БД: JSONB-набор записей vs нормализованные таблицы записей.
3. Механизм шифрования кредов: ключ из env vs внешний секрет-менеджер.
## Решённые развилки ## Решённые развилки
- Язык: **Go** (backend), **React SPA** (frontend). - Язык: **Go** (backend), **React SPA** (frontend).
@@ -151,3 +144,13 @@ users
- Типы: A/AAAA/CNAME/MX/TXT/SRV управляемые, NS/SOA read-only. - Типы: A/AAAA/CNAME/MX/TXT/SRV управляемые, NS/SOA read-only.
- Git: репозиторий инициализирован. - Git: репозиторий инициализирован.
- Scope Фазы 1: надёжное API + диф-движок, минимальный UI. - Scope Фазы 1: надёжное API + диф-движок, минимальный UI.
- **Аутентификация Selectel: статический API-ключ.** При добавлении учётки в UI показываем
инструкцию и ссылку, где и как его получить (панель Selectel).
- **Шаблоны в БД: JSONB** — набор `Record` хранится как JSONB-документ (versioned).
- Шифрование кредов: симметричный ключ из env (AES-GCM) в Фазе 1; внешний секрет-менеджер
— возможное улучшение позже.
## Заметки по UI (для будущих фаз)
- Экран добавления provider-учётки Selectel содержит: поле API-ключа, краткую инструкцию
и ссылку на страницу получения ключа в панели Selectel.