Files
healthlog/docs/backlog/upravlenie-sekretami.md
T
av 03edf1087d Каталог разрезов и измеренный род агрегации
- род метрики выводится сверкой минутного слоя с часовым: часовое значение
  сходится с суммой минутных — накопительная, со средним — мгновенная, иначе
  `unknown` и свёртка не предлагается вовсе. На живом архиве (123 доставки,
  31 метрика) 7 накопительных, 9 мгновенных, противоречащих часов ноль
- `GET /api/v1/metrics` под токеном чтения отдаёт единицы, слои с границами и
  род вместе с основанием измерения; род нигде не хранится — он функция витрины,
  а витрина функция журнала, устаревать в нём нечему
- миграция 00009: покрывающий индекс, чтобы каталог отвечал по учётным колонкам,
  не разжимая содержимое объектов
2026-08-02 19:23:59 +03:00

31 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Управление токенами и секретами
**Приоритет:** средний
Сейчас проверка токенов выключена сознательно — доверенная локальная сеть, — и
`config.docker.toml` коммитится без секретов. Для локальной разработки это
правильно, но это же делает выезд наружу опасным: одна забытая настройка
открывает историю здоровья всему интернету.
**Контуров теперь два, а не один.** С появлением каталога
(`GET /api/v1/metrics`, change `2026-08-02-katalog-i-rod-agregacii`) заработал
токен чтения, и цена у контуров разная: открытый приём означает мусор во входе,
открытое чтение — выгрузку всей истории здоровья любому, кто нашёл порт. Сервис
предупреждает на старте обоими сообщениями (`write auth disabled`,
`read auth disabled`), образцы конфига цену называют комментарием — но отказа
старта нет, и это решение осталось здесь.
Решается перед деплоем, не раньше — так договорились.
Шаги:
- раздельные токены приёма и чтения, генерация и хранение вне репозитория;
- сервис громко предупреждает на старте, если проверка выключена (уже есть),
и **отказывается стартовать**, если адрес прослушивания публичный, а токенов
нет;
- проверка в гейте, что в коммит не уехал файл с токеном (частично закрыта
`gitleaks`).
Готово, когда запуск без токенов возможен только на localhost, а на rivendell
оба контура закрыты разными токенами.