1a6f326aa4
Локально гоняем mongo как standalone. Раньше был --replSet rs0 +
rs.initiate в entrypoint, но проект не использует ни transactions
(нет startSession), ни change streams (нет .watch()), ни
readConcern:'majority' — replica-set серверно избыточен. Клиенты
(mongoose в controller, MongoClient в parser, notifications) уже
подключаются по URL без replicaSet=/directConnection= параметров,
для них переход прозрачен.
Бонусы:
- pnpm run reboot больше не висит на «MongoDB еще не готов
(нет PRIMARY)»: на arm64 sleep 5 в entrypoint не успевал поднять
mongod до того, как rs.initiate пытался выполниться, и rs.status()
внутри try/catch ловил неправильную ошибку — replica config не
применялся, oplog.rs не создавался, PRIMARY никогда не наступал
(инцидент 2026-05-23).
- Старт mongo на 5-10 сек быстрее.
- Меньше состояния в volume — нет oplog/replica-config.
reboot.sh: ждать db.adminCommand({ping:1}) вместо db.hello().isWritablePrimary.
Прод-конфигурация (k8s/swarm) этого файла не использует — там
своя replica-схема для HA, не затронута.
Если в будущем потребуются transactions — вернуть --replSet rs0
+ rs.initiate в entrypoint обратно. Триггер: появление в коде
session = await mongoose.startSession() или .watch().
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>