- каждая запись каталога задач получила тип вместо тега kind: и префикса заголовка; секция роадмапа «Разработка» стала «Сопровождением», порядок секций канонический - поправлены протухшие факты: нереализованные маршруты Read API, MCP и `healthlog import`, словарь слоёв в инварианте, семантика гейта по покрытию диффа, периметр перестал дублировать security.md - замер слияния переведён с находки 49 на находку 54, заполнены Purpose спек storage и parsing
2.7 KiB
✨ Развести токены контуров и убрать секреты из репозитория
- Тип: feature
- Категория: Инфра
- Зачем: Проверка токенов выключена, 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».