5.6 KiB
Задание: Валидация production конфигов против реальных данных VPS
Для выполнения: Claude Code на VPS Создано: December 24, 2025 Репозиторий: ~/workspace/projects/banatie-service
Цель
Сравнить файлы в infrastructure/ с реальными конфигами на VPS (/opt/banatie/) и обновить репозиторий при расхождениях.
Контекст
Файлы в infrastructure/ были созданы на основе чата о деплое, но могут не полностью соответствовать реальным конфигам на VPS. Нужно синхронизировать их с production.
Задачи
1. Сравнить docker-compose.yml
Файл в репо: infrastructure/docker-compose.production.yml
Файл на VPS: /opt/banatie/docker-compose.yml
# Посмотреть реальный файл
cat /opt/banatie/docker-compose.yml
Что проверить:
- Имена сервисов совпадают
- Networks правильные (особенно
services_proxy-networkvsproxy-network) - Volumes пути совпадают
- Environment variables
- Healthcheck команды
- Build context путь
Действие: Если есть расхождения — обновить infrastructure/docker-compose.production.yml
2. Сравнить .env переменные
Файл в репо: infrastructure/.env.example
Файл на VPS: /opt/banatie/.env
# Посмотреть реальные переменные (без секретов)
cat /opt/banatie/.env
Что проверить:
- Все переменные присутствуют
- Значения по умолчанию корректны
- Нет лишних/устаревших переменных
Действие: Обновить .env.example если нужно
3. Сравнить secrets.env структуру
Файл в репо: infrastructure/secrets.env.example
Файл на VPS: /opt/banatie/secrets.env
# Посмотреть только имена переменных (БЕЗ значений!)
cat /opt/banatie/secrets.env | grep -E '^[A-Z_]+=' | cut -d'=' -f1
Что проверить:
- Все секреты перечислены в примере
- Нет лишних/устаревших секретов
Действие: Обновить secrets.env.example если нужно (только имена, не значения!)
4. Проверить init-db.sql
Файл в репо: infrastructure/init-db.sql
Файл на VPS: /opt/banatie/scripts/init-db.sql
cat /opt/banatie/scripts/init-db.sql
Что проверить:
- GRANT команды совпадают
- Имя пользователя корректное (banatie_user)
5. Проверить Caddyfile (для документации)
Файл на VPS: /opt/services/configs/caddy/Caddyfile
# Извлечь только Banatie секцию
grep -A 50 "BANATIE" /opt/services/configs/caddy/Caddyfile
Что проверить:
- Конфиг в
docs/deployment.mdсоответствует реальному - Все домены правильные
Действие: Обновить секцию Caddy в docs/deployment.md если нужно
6. Проверить deploy скрипты
Файлы в репо: scripts/deploy-landing.sh, scripts/deploy-api.sh
# Проверить что скрипты работают
head -20 ~/workspace/projects/banatie-service/scripts/deploy-landing.sh
head -20 ~/workspace/projects/banatie-service/scripts/deploy-api.sh
Что проверить:
- Пути корректные
- Команды docker compose правильные
7. Проверить текущий статус сервисов
# Статус контейнеров
docker ps --filter "name=banatie" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
# Проверить endpoints
curl -s https://api.banatie.app/health | jq
curl -s -o /dev/null -w "%{http_code}" https://banatie.app
Записать в документацию если есть проблемы.
Формат отчёта
После выполнения создай краткий отчёт:
## Результаты валидации
### Расхождения найдены:
- [ ] docker-compose.production.yml — описание
- [ ] .env.example — описание
- [ ] ...
### Файлы обновлены:
- файл1.md
- файл2.yml
### Статус сервисов:
- Landing: OK/ERROR
- API: OK/ERROR
- MinIO: OK/ERROR
- PostgreSQL: OK/ERROR
После выполнения
cd ~/workspace/projects/banatie-service
# Проверить изменения
git status
git diff
# Закоммитить если есть изменения
git add infrastructure/ docs/
git commit -m "fix: sync production configs with VPS reality"
git push
Важно
- НЕ копировать секреты в репозиторий — только имена переменных
- НЕ менять реальные конфиги на VPS — только обновлять файлы в репо
- При серьёзных расхождениях — сначала спросить перед изменениями