mirror of
https://github.com/dartdavros/chatballs.git
synced 2026-10-05 17:14:59 +03:00
Том chatballs-secrets целиком монтировался во все сервисы: публичный backend-app читал пароли платформенной роли и роли миграций, которая обходит RLS. Теперь томов три — общий, платформенной роли и роли миграций вместе с паролем владельца кластера — и каждый процесс монтирует только свои. Генератор переносит файлы существующих установок: копия, побайтная сверка, только потом удаление из общего тома; повторный запуск ничего не трогает, пароли не меняются. doctor на работающем стеке проверяет, что backend-app паролей не видит. Воркер получает алиас platform флагом CHATBALLS_DB_PLATFORM_ALIAS. README перечисляет три тома в бэкапе. nginx (dev-шлюз и production-фронтенд) резолвил имя сервиса один раз при старте: после пересоздания контейнеров старый адрес backend-app достался backend-platform, и туда уходил WebSocket приложения. Upstream задан переменной с resolver на DNS Docker. ADR-CHATBALLS-0048 §3, §5. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>