- роадмап отвечает «что умеет и чего не умеет»: PLAN.md → ROADMAP.md, четыре канонические секции, достигнутые звенья строками в «Готово», цели переформулированы возможностями приложения - задачи: род работы и «Затрагивает» набору спринта, 34 заголовка в форму действия, «Завершение» целей перечнями со ссылкой из каждой задачи - вычитка проходами task-form и doc-wording, починены протухшие факты в README, паспорте и review.md
34 lines
2.6 KiB
Markdown
34 lines
2.6 KiB
Markdown
# Развести токены контуров и убрать секреты из репозитория
|
||
|
||
- **Секция:** Инфра
|
||
- **Зачем:** Проверка токенов выключена, config.docker.toml коммитится — так нельзя выезжать наружу
|
||
- **Теги:** goal:deploy
|
||
|
||
Сейчас проверка токенов выключена сознательно — доверенная локальная сеть, — и
|
||
`config.docker.toml` коммитится без секретов. Для локальной разработки это
|
||
правильно, но это же делает выезд наружу опасным: одна забытая настройка
|
||
открывает историю здоровья всему интернету.
|
||
|
||
**Контуров теперь два, а не один.** С появлением каталога
|
||
(`GET /api/v1/metrics`, change `2026-08-02-katalog-i-rod-agregacii`) заработал
|
||
токен чтения, и цена у контуров разная: открытый приём означает мусор во входе,
|
||
открытое чтение — выгрузку всей истории здоровья любому, кто нашёл порт. Сервис
|
||
предупреждает на старте обоими сообщениями (`write auth disabled`,
|
||
`read auth disabled`), образцы конфига цену называют комментарием — но отказа
|
||
старта нет, и это решение осталось здесь.
|
||
|
||
Решается перед деплоем, не раньше — так договорились.
|
||
|
||
Шаги:
|
||
- раздельные токены приёма и чтения, генерация и хранение вне репозитория;
|
||
- сервис громко предупреждает на старте, если проверка выключена (уже есть),
|
||
и **отказывается стартовать**, если адрес прослушивания публичный, а токенов
|
||
нет;
|
||
- проверка в гейте, что в коммит не уехал файл с токеном (частично закрыта
|
||
`gitleaks`).
|
||
|
||
Готово, когда запуск без токенов возможен только на localhost, а на rivendell
|
||
оба контура закрыты разными токенами.
|
||
|
||
Двигает строку «Завершения» цели: «Оба контура закрыты разными токенами, и без токенов сервис стартует только на localhost».
|