feat: harden production data and backups
This commit is contained in:
+20
-5
@@ -32,7 +32,7 @@ curl -fsS https://rf4spotter.ru/health
|
||||
curl -fsS https://rf4spotter.ru/ready
|
||||
```
|
||||
|
||||
API-контейнер перед стартом применяет Alembic-миграции и запускает seed. До альфы демонстрационные уловы следует убрать отдельной задачей; справочники должны остаться.
|
||||
API-контейнер перед стартом применяет Alembic-миграции и запускает идемпотентный seed. В production он добавляет только минимальные справочники и точки; демонстрационные уловы жёстко отключены настройкой `SEED_DEMO_DATA=false`.
|
||||
|
||||
Проверка TLS и маршрутизации:
|
||||
|
||||
@@ -65,11 +65,26 @@ curl -fsS https://rf4spotter.ru/ready
|
||||
|
||||
Перед обновлением со сменой схемы обязателен backup PostgreSQL. Не удаляйте volumes и не используйте `down -v`.
|
||||
|
||||
## 6. Что ещё блокирует приглашение альфа-пользователей
|
||||
## 6. Резервное копирование и восстановление
|
||||
|
||||
- проверенный backup/restore PostgreSQL и MinIO;
|
||||
- production-safe seed без демонстрационных уловов;
|
||||
- одноразовый секрет для повторной загрузки скриншота вместо одного UUID;
|
||||
Храните копии вне диска приложения. Скрипт создаёт PostgreSQL dump, архив MinIO и контрольные суммы в новом каталоге с UTC-временем:
|
||||
|
||||
```bash
|
||||
./deploy/backup.sh /srv/rf4-backups
|
||||
```
|
||||
|
||||
Восстановление заменяет содержимое PostgreSQL и MinIO данными из выбранной копии, временно останавливая API, web и MinIO. Это намеренно защищённая подтверждением операция:
|
||||
|
||||
```bash
|
||||
CONFIRM_RESTORE=rf4-spotter ./deploy/restore.sh /srv/rf4-backups/20260906T120000Z
|
||||
curl -fsS https://rf4spotter.ru/ready
|
||||
```
|
||||
|
||||
Перед приглашением пользователей проведите учебное восстановление на отдельном сервере или с отдельным Compose project name. Одной только успешной архивации недостаточно. После проверки настройте ежедневный запуск `backup.sh`, шифрование/выгрузку копий во внешнее хранилище и уведомление при ошибке; храните минимум 7 ежедневных и 4 еженедельных копии.
|
||||
|
||||
## 7. Что ещё блокирует приглашение альфа-пользователей
|
||||
|
||||
- учебное восстановление PostgreSQL и MinIO на изолированном контуре;
|
||||
- проверка полного bootstrap на пустых volumes;
|
||||
- политика хранения и удаления пользовательских данных;
|
||||
- базовый мониторинг `/ready`, диска и срока TLS-сертификата.
|
||||
|
||||
Reference in New Issue
Block a user